diff options
author | Eric Christopher <echristo@gmail.com> | 2014-07-02 00:10:09 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-07-02 00:10:09 +0000 |
commit | 1b1cef23236e2f3fbdec8a480d3504636c5a83fa (patch) | |
tree | 7249208f4c83ca3c2ca9aed13cd1866f7f7a8682 /llvm/lib/Target/XCore/XCoreTargetMachine.h | |
parent | 99a5ba8b202bf7190087e25b42c49f201d0363f5 (diff) | |
download | bcm5719-llvm-1b1cef23236e2f3fbdec8a480d3504636c5a83fa.tar.gz bcm5719-llvm-1b1cef23236e2f3fbdec8a480d3504636c5a83fa.zip |
Move the subtarget dependent features from XCoreTargetMachine
down to the subtarget.
llvm-svn: 212147
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreTargetMachine.h')
-rw-r--r-- | llvm/lib/Target/XCore/XCoreTargetMachine.h | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/llvm/lib/Target/XCore/XCoreTargetMachine.h b/llvm/lib/Target/XCore/XCoreTargetMachine.h index a57ca55f3c1..14c43bf151f 100644 --- a/llvm/lib/Target/XCore/XCoreTargetMachine.h +++ b/llvm/lib/Target/XCore/XCoreTargetMachine.h @@ -14,46 +14,38 @@ #ifndef XCORETARGETMACHINE_H #define XCORETARGETMACHINE_H -#include "XCoreFrameLowering.h" -#include "XCoreISelLowering.h" -#include "XCoreInstrInfo.h" -#include "XCoreSelectionDAGInfo.h" #include "XCoreSubtarget.h" -#include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetMachine.h" namespace llvm { class XCoreTargetMachine : public LLVMTargetMachine { XCoreSubtarget Subtarget; - const DataLayout DL; // Calculates type size & alignment - XCoreInstrInfo InstrInfo; - XCoreFrameLowering FrameLowering; - XCoreTargetLowering TLInfo; - XCoreSelectionDAGInfo TSInfo; public: XCoreTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL); - const XCoreInstrInfo *getInstrInfo() const override { return &InstrInfo; } + const XCoreInstrInfo *getInstrInfo() const override { + return getSubtargetImpl()->getInstrInfo(); + } const XCoreFrameLowering *getFrameLowering() const override { - return &FrameLowering; + return getSubtargetImpl()->getFrameLowering(); } const XCoreSubtarget *getSubtargetImpl() const override { return &Subtarget; } const XCoreTargetLowering *getTargetLowering() const override { - return &TLInfo; + return getSubtargetImpl()->getTargetLowering(); } - const XCoreSelectionDAGInfo* getSelectionDAGInfo() const override { - return &TSInfo; + return getSubtargetImpl()->getSelectionDAGInfo(); } - const TargetRegisterInfo *getRegisterInfo() const override { - return &InstrInfo.getRegisterInfo(); + return getSubtargetImpl()->getRegisterInfo(); + } + const DataLayout *getDataLayout() const override { + return getSubtargetImpl()->getDataLayout(); } - const DataLayout *getDataLayout() const override { return &DL; } // Pass Pipeline Configuration TargetPassConfig *createPassConfig(PassManagerBase &PM) override; |