diff options
Diffstat (limited to 'lib/Target/PowerPC/PPCTargetMachine.h')
-rw-r--r-- | lib/Target/PowerPC/PPCTargetMachine.h | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/lib/Target/PowerPC/PPCTargetMachine.h b/lib/Target/PowerPC/PPCTargetMachine.h index 4c7029c..5095d73 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.h +++ b/lib/Target/PowerPC/PPCTargetMachine.h @@ -11,8 +11,8 @@ // //===----------------------------------------------------------------------===// -#ifndef PPC_TARGETMACHINE_H -#define PPC_TARGETMACHINE_H +#ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETMACHINE_H +#define LLVM_LIB_TARGET_POWERPC_PPCTARGETMACHINE_H #include "PPCInstrInfo.h" #include "PPCSubtarget.h" @@ -24,46 +24,30 @@ namespace llvm { /// PPCTargetMachine - Common code between 32-bit and 64-bit PowerPC targets. /// class PPCTargetMachine : public LLVMTargetMachine { - PPCSubtarget Subtarget; + std::unique_ptr<TargetLoweringObjectFile> TLOF; + PPCSubtarget Subtarget; + + mutable StringMap<std::unique_ptr<PPCSubtarget>> SubtargetMap; public: PPCTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, - CodeGenOpt::Level OL, bool is64Bit); + CodeGenOpt::Level OL); - const PPCInstrInfo *getInstrInfo() const override { - return getSubtargetImpl()->getInstrInfo(); - } - const PPCFrameLowering *getFrameLowering() const override { - return getSubtargetImpl()->getFrameLowering(); - } - PPCJITInfo *getJITInfo() override { return Subtarget.getJITInfo(); } - const PPCTargetLowering *getTargetLowering() const override { - return getSubtargetImpl()->getTargetLowering(); - } - const PPCSelectionDAGInfo* getSelectionDAGInfo() const override { - return getSubtargetImpl()->getSelectionDAGInfo(); - } - const PPCRegisterInfo *getRegisterInfo() const override { - return &getInstrInfo()->getRegisterInfo(); - } + ~PPCTargetMachine() override; - const DataLayout *getDataLayout() const override { - return getSubtargetImpl()->getDataLayout(); - } - const PPCSubtarget *getSubtargetImpl() const override { return &Subtarget; } - const InstrItineraryData *getInstrItineraryData() const override { - return &getSubtargetImpl()->getInstrItineraryData(); - } + const PPCSubtarget *getSubtargetImpl() const override { return &Subtarget; } + const PPCSubtarget *getSubtargetImpl(const Function &F) const override; // Pass Pipeline Configuration TargetPassConfig *createPassConfig(PassManagerBase &PM) override; - bool addCodeEmitter(PassManagerBase &PM, - JITCodeEmitter &JCE) override; /// \brief Register PPC analysis passes with a pass manager. void addAnalysisPasses(PassManagerBase &PM) override; + TargetLoweringObjectFile *getObjFileLowering() const override { + return TLOF.get(); + } }; /// PPC32TargetMachine - PowerPC 32-bit target machine. |