bpf: fix build due to 'Move DataLayout back to the TargetMachine'
authorAlexei Starovoitov <alexei.starovoitov@gmail.com>
Mon, 26 Jan 2015 20:43:15 +0000 (20:43 +0000)
committerAlexei Starovoitov <alexei.starovoitov@gmail.com>
Mon, 26 Jan 2015 20:43:15 +0000 (20:43 +0000)
commit r227113 moved DataLayout

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

lib/Target/BPF/BPFSubtarget.cpp
lib/Target/BPF/BPFSubtarget.h
lib/Target/BPF/BPFTargetMachine.cpp
lib/Target/BPF/BPFTargetMachine.h

index 7a237ea0e0fafa77b81c17d24dd13f676c267b44..49addc37ab8de0f1df11afb03a57180c0693b0d5 100644 (file)
@@ -27,5 +27,5 @@ void BPFSubtarget::anchor() {}
 
 BPFSubtarget::BPFSubtarget(const std::string &TT, const std::string &CPU,
                            const std::string &FS, const TargetMachine &TM)
-    : BPFGenSubtargetInfo(TT, CPU, FS), DL("e-m:e-p:64:64-i64:64-n32:64-S128"),
-      InstrInfo(), FrameLowering(*this), TLInfo(TM), TSInfo(&DL) {}
+    : BPFGenSubtargetInfo(TT, CPU, FS), InstrInfo(), FrameLowering(*this),
+      TLInfo(TM), TSInfo(TM.getDataLayout()) {}
index da11811553702a581a74dde09b4177164eb8852e..347cffd82e0373ca53e6ea019ca1f18a5e9e5a53 100644 (file)
@@ -30,7 +30,6 @@ class StringRef;
 
 class BPFSubtarget : public BPFGenSubtargetInfo {
   virtual void anchor();
-  const DataLayout DL; // Calculates type size & alignment
   BPFInstrInfo InstrInfo;
   BPFFrameLowering FrameLowering;
   BPFTargetLowering TLInfo;
@@ -59,7 +58,6 @@ public:
   const TargetRegisterInfo *getRegisterInfo() const override {
     return &InstrInfo.getRegisterInfo();
   }
-  const DataLayout *getDataLayout() const override { return &DL; }
 };
 } // End llvm namespace
 
index 6ef2a27888dee21c47c641753f2b60c98db830a9..c3feb021edb990f176cf38d65170ee3eebcfb920 100644 (file)
@@ -37,6 +37,7 @@ BPFTargetMachine::BPFTargetMachine(const Target &T, StringRef TT, StringRef CPU,
                                    CodeGenOpt::Level OL)
     : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
       TLOF(make_unique<TargetLoweringObjectFileELF>()),
+      DL("e-m:e-p:64:64-i64:64-n32:64-S128"),
       Subtarget(TT, CPU, FS, *this) {
   initAsmInfo();
 }
index 1bfaafc6a581842e5df011745618d7ffb7f9da36..821cffc7e89c436438e1feb8eec8e5dbeeffd87a 100644 (file)
@@ -20,6 +20,7 @@
 namespace llvm {
 class BPFTargetMachine : public LLVMTargetMachine {
   std::unique_ptr<TargetLoweringObjectFile> TLOF;
+  const DataLayout DL;
   BPFSubtarget Subtarget;
 
 public:
@@ -27,6 +28,7 @@ public:
                    const TargetOptions &Options, Reloc::Model RM,
                    CodeModel::Model CM, CodeGenOpt::Level OL);
 
+  const DataLayout *getDataLayout() const override { return &DL; }
   const BPFSubtarget *getSubtargetImpl() const override { return &Subtarget; }
 
   TargetPassConfig *createPassConfig(PassManagerBase &PM) override;