commit r227113 moved DataLayout
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227133
91177308-0d34-0410-b5e6-
96231b3b80d8
BPFSubtarget::BPFSubtarget(const std::string &TT, const std::string &CPU,
const std::string &FS, const TargetMachine &TM)
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()) {}
class BPFSubtarget : public BPFGenSubtargetInfo {
virtual void anchor();
class BPFSubtarget : public BPFGenSubtargetInfo {
virtual void anchor();
- const DataLayout DL; // Calculates type size & alignment
BPFInstrInfo InstrInfo;
BPFFrameLowering FrameLowering;
BPFTargetLowering TLInfo;
BPFInstrInfo InstrInfo;
BPFFrameLowering FrameLowering;
BPFTargetLowering TLInfo;
const TargetRegisterInfo *getRegisterInfo() const override {
return &InstrInfo.getRegisterInfo();
}
const TargetRegisterInfo *getRegisterInfo() const override {
return &InstrInfo.getRegisterInfo();
}
- const DataLayout *getDataLayout() const override { return &DL; }
};
} // End llvm namespace
};
} // End llvm namespace
CodeGenOpt::Level OL)
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
TLOF(make_unique<TargetLoweringObjectFileELF>()),
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();
}
Subtarget(TT, CPU, FS, *this) {
initAsmInfo();
}
namespace llvm {
class BPFTargetMachine : public LLVMTargetMachine {
std::unique_ptr<TargetLoweringObjectFile> TLOF;
namespace llvm {
class BPFTargetMachine : public LLVMTargetMachine {
std::unique_ptr<TargetLoweringObjectFile> TLOF;
BPFSubtarget Subtarget;
public:
BPFSubtarget Subtarget;
public:
const TargetOptions &Options, Reloc::Model RM,
CodeModel::Model CM, CodeGenOpt::Level OL);
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;
const BPFSubtarget *getSubtargetImpl() const override { return &Subtarget; }
TargetPassConfig *createPassConfig(PassManagerBase &PM) override;