diff options
Diffstat (limited to 'src/gallium/drivers/radeon/AMDGPUTargetMachine.h')
-rw-r--r-- | src/gallium/drivers/radeon/AMDGPUTargetMachine.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUTargetMachine.h b/src/gallium/drivers/radeon/AMDGPUTargetMachine.h index 2f60e76299b..84a1ea330d3 100644 --- a/src/gallium/drivers/radeon/AMDGPUTargetMachine.h +++ b/src/gallium/drivers/radeon/AMDGPUTargetMachine.h @@ -15,7 +15,9 @@ #define AMDGPU_TARGET_MACHINE_H #include "AMDGPUInstrInfo.h" -#include "AMDILTargetMachine.h" +#include "AMDILFrameLowering.h" +#include "AMDILIntrinsicInfo.h" +#include "AMDILSubtarget.h" #include "R600ISelLowering.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/Target/TargetData.h" @@ -24,13 +26,15 @@ namespace llvm { MCAsmInfo* createMCAsmInfo(const Target &T, StringRef TT); -class AMDGPUTargetMachine : public AMDILTargetMachine { +class AMDGPUTargetMachine : public LLVMTargetMachine { + AMDILSubtarget Subtarget; - const AMDGPUInstrInfo * InstrInfo; - AMDGPUTargetLowering * TLInfo; - AMDILGlobalManager *mGM; - AMDILKernelManager *mKM; - bool mDump; + const TargetData DataLayout; + AMDILFrameLowering FrameLowering; + AMDILIntrinsicInfo IntrinsicInfo; + const AMDGPUInstrInfo * InstrInfo; + AMDGPUTargetLowering * TLInfo; + bool mDump; public: AMDGPUTargetMachine(const Target &T, StringRef TT, StringRef FS, @@ -39,6 +43,12 @@ public: Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL); ~AMDGPUTargetMachine(); + virtual const AMDILFrameLowering* getFrameLowering() const { + return &FrameLowering; + } + virtual const AMDILIntrinsicInfo* getIntrinsicInfo() const { + return &IntrinsicInfo; + } virtual const AMDGPUInstrInfo *getInstrInfo() const {return InstrInfo;} virtual const AMDILSubtarget *getSubtargetImpl() const {return &Subtarget; } virtual const AMDGPURegisterInfo *getRegisterInfo() const { @@ -47,6 +57,7 @@ public: virtual AMDGPUTargetLowering * getTargetLowering() const { return TLInfo; } + virtual const TargetData* getTargetData() const { return &DataLayout; } virtual TargetPassConfig *createPassConfig(PassManagerBase &PM); virtual bool addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out, |