Since the DataLayout is always found off of the subtarget go ahead
authorEric Christopher <echristo@gmail.com>
Mon, 16 Jun 2014 21:18:27 +0000 (21:18 +0000)
committerEric Christopher <echristo@gmail.com>
Mon, 16 Jun 2014 21:18:27 +0000 (21:18 +0000)
and query the base target machine implementation for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211055 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMTargetMachine.h

index 6d9a31b..1549277 100644 (file)
@@ -53,7 +53,9 @@ public:
   const InstrItineraryData *getInstrItineraryData() const override {
     return &getSubtargetImpl()->getInstrItineraryData();
   }
-
+  const DataLayout *getDataLayout() const override {
+    return getSubtargetImpl()->getDataLayout();
+  }
   /// \brief Register ARM analysis passes with a pass manager.
   void addAnalysisPasses(PassManagerBase &PM) override;
 
@@ -93,9 +95,6 @@ class ARMTargetMachine : public ARMBaseTargetMachine {
     return &FrameLowering;
   }
   const ARMInstrInfo *getInstrInfo() const override { return &InstrInfo; }
-  const DataLayout *getDataLayout() const override {
-    return getSubtargetImpl()->getDataLayout();
-  }
 };
 
 /// ARMLETargetMachine - ARM little endian target machine.
@@ -160,9 +159,6 @@ public:
   const ARMFrameLowering *getFrameLowering() const override {
     return FrameLowering.get();
   }
-  const DataLayout *getDataLayout() const override {
-    return getSubtargetImpl()->getDataLayout();
-  }
 };
 
 /// ThumbLETargetMachine - Thumb little endian target machine.