X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FSystemZ%2FSystemZTargetMachine.h;h=98614e7b7e2ce4ad06b73a10341efa590c789da9;hb=b6606e46abad12a112a57048caec2142522bc67d;hp=524f83d13229605eda0b9e7218e9f9c5003417b4;hpb=16c29b5f285f375be53dabaa73e3e91107485fe4;p=oota-llvm.git diff --git a/lib/Target/SystemZ/SystemZTargetMachine.h b/lib/Target/SystemZ/SystemZTargetMachine.h index 524f83d1322..98614e7b7e2 100644 --- a/lib/Target/SystemZ/SystemZTargetMachine.h +++ b/lib/Target/SystemZ/SystemZTargetMachine.h @@ -12,56 +12,63 @@ //===----------------------------------------------------------------------===// -#ifndef LLVM_TARGET_SYSTEMZ_TARGETMACHINE_H -#define LLVM_TARGET_SYSTEMZ_TARGETMACHINE_H +#ifndef SYSTEMZTARGETMACHINE_H +#define SYSTEMZTARGETMACHINE_H -#include "SystemZInstrInfo.h" -#include "SystemZISelLowering.h" #include "SystemZFrameLowering.h" -#include "SystemZSelectionDAGInfo.h" +#include "SystemZISelLowering.h" +#include "SystemZInstrInfo.h" #include "SystemZRegisterInfo.h" #include "SystemZSubtarget.h" -#include "llvm/Target/TargetData.h" +#include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetFrameLowering.h" #include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetSelectionDAGInfo.h" namespace llvm { -/// SystemZTargetMachine -/// class SystemZTargetMachine : public LLVMTargetMachine { SystemZSubtarget Subtarget; - const TargetData DataLayout; // Calculates type size & alignment + const DataLayout DL; SystemZInstrInfo InstrInfo; SystemZTargetLowering TLInfo; - SystemZSelectionDAGInfo TSInfo; + TargetSelectionDAGInfo TSInfo; SystemZFrameLowering FrameLowering; + public: - SystemZTargetMachine(const Target &T, const std::string &TT, - const std::string &FS); + SystemZTargetMachine(const Target &T, StringRef TT, StringRef CPU, + StringRef FS, const TargetOptions &Options, + Reloc::Model RM, CodeModel::Model CM, + CodeGenOpt::Level OL); - virtual const TargetFrameLowering *getFrameLowering() const { + // Override TargetMachine. + virtual const TargetFrameLowering *getFrameLowering() const LLVM_OVERRIDE { return &FrameLowering; } - virtual const SystemZInstrInfo *getInstrInfo() const { return &InstrInfo; } - virtual const TargetData *getTargetData() const { return &DataLayout;} - virtual const SystemZSubtarget *getSubtargetImpl() const { return &Subtarget; } - - virtual const SystemZRegisterInfo *getRegisterInfo() const { + virtual const SystemZInstrInfo *getInstrInfo() const LLVM_OVERRIDE { + return &InstrInfo; + } + virtual const SystemZSubtarget *getSubtargetImpl() const LLVM_OVERRIDE { + return &Subtarget; + } + virtual const DataLayout *getDataLayout() const LLVM_OVERRIDE { + return &DL; + } + virtual const SystemZRegisterInfo *getRegisterInfo() const LLVM_OVERRIDE { return &InstrInfo.getRegisterInfo(); } - - virtual const SystemZTargetLowering *getTargetLowering() const { + virtual const SystemZTargetLowering *getTargetLowering() const LLVM_OVERRIDE { return &TLInfo; } - - virtual const SystemZSelectionDAGInfo* getSelectionDAGInfo() const { + virtual const TargetSelectionDAGInfo *getSelectionDAGInfo() const + LLVM_OVERRIDE { return &TSInfo; } - virtual bool addInstSelector(PassManagerBase &PM, CodeGenOpt::Level OptLevel); -}; // SystemZTargetMachine. + // Override LLVMTargetMachine + virtual TargetPassConfig *createPassConfig(PassManagerBase &PM) LLVM_OVERRIDE; +}; } // end namespace llvm -#endif // LLVM_TARGET_SystemZ_TARGETMACHINE_H +#endif