diff options
author | Eric Christopher <echristo@gmail.com> | 2014-06-13 00:20:35 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-06-13 00:20:35 +0000 |
commit | 1ee246100e7145c7fd27b417f128840037aa1f54 (patch) | |
tree | 553704a7f1879589de957ba7b6d59c137f1200eb /lib/Target/ARM/ARMTargetMachine.h | |
parent | 740a75968a1ffc246c8f54a83cdaffe4d0cb3494 (diff) | |
download | llvm-1ee246100e7145c7fd27b417f128840037aa1f54.tar.gz llvm-1ee246100e7145c7fd27b417f128840037aa1f54.tar.bz2 llvm-1ee246100e7145c7fd27b417f128840037aa1f54.tar.xz |
Move to a private function to initialize subtarget dependencies
so we can use initializer lists for the ARMSubtarget and then
use this to initialize a moved DataLayout on the subtarget from
the TargetMachine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210861 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMTargetMachine.h')
-rw-r--r-- | lib/Target/ARM/ARMTargetMachine.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMTargetMachine.h b/lib/Target/ARM/ARMTargetMachine.h index 664c992ea1..2f746dd6b2 100644 --- a/lib/Target/ARM/ARMTargetMachine.h +++ b/lib/Target/ARM/ARMTargetMachine.h @@ -68,7 +68,6 @@ public: class ARMTargetMachine : public ARMBaseTargetMachine { virtual void anchor(); ARMInstrInfo InstrInfo; - const DataLayout DL; // Calculates type size & alignment ARMTargetLowering TLInfo; ARMSelectionDAGInfo TSInfo; ARMFrameLowering FrameLowering; @@ -95,7 +94,9 @@ class ARMTargetMachine : public ARMBaseTargetMachine { return &FrameLowering; } const ARMInstrInfo *getInstrInfo() const override { return &InstrInfo; } - const DataLayout *getDataLayout() const override { return &DL; } + const DataLayout *getDataLayout() const override { + return getSubtargetImpl()->getDataLayout(); + } }; /// ARMLETargetMachine - ARM little endian target machine. @@ -128,7 +129,6 @@ class ThumbTargetMachine : public ARMBaseTargetMachine { virtual void anchor(); // Either Thumb1InstrInfo or Thumb2InstrInfo. std::unique_ptr<ARMBaseInstrInfo> InstrInfo; - const DataLayout DL; // Calculates type size & alignment ARMTargetLowering TLInfo; ARMSelectionDAGInfo TSInfo; // Either Thumb1FrameLowering or ARMFrameLowering. @@ -162,7 +162,9 @@ public: const ARMFrameLowering *getFrameLowering() const override { return FrameLowering.get(); } - const DataLayout *getDataLayout() const override { return &DL; } + const DataLayout *getDataLayout() const override { + return getSubtargetImpl()->getDataLayout(); + } }; /// ThumbLETargetMachine - Thumb little endian target machine. |