diff options
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPC32TargetMachine.h')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPC32TargetMachine.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC32TargetMachine.h b/llvm/lib/Target/PowerPC/PPC32TargetMachine.h index 902abb0745a..91c1f1b79b6 100644 --- a/llvm/lib/Target/PowerPC/PPC32TargetMachine.h +++ b/llvm/lib/Target/PowerPC/PPC32TargetMachine.h @@ -14,15 +14,37 @@ #ifndef POWERPC32_TARGETMACHINE_H #define POWERPC32_TARGETMACHINE_H -#include "PowerPCTargetMachine.h" +#include "PowerPCFrameInfo.h" +#include "PowerPCSubtarget.h" #include "PPC32JITInfo.h" #include "PPC32InstrInfo.h" +#include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetFrameInfo.h" #include "llvm/PassManager.h" namespace llvm { class IntrinsicLowering; +class GlobalValue; +class IntrinsicLowering; +// FIXME: Merge into only subclass. +class PowerPCTargetMachine : public TargetMachine { + PowerPCFrameInfo FrameInfo; + PPCSubtarget Subtarget; +protected: + PowerPCTargetMachine(const std::string &name, IntrinsicLowering *IL, + const Module &M, const std::string &FS, + const TargetData &TD, + const PowerPCFrameInfo &TFI); +public: + virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; } + virtual const TargetSubtarget *getSubtargetImpl() const{ return &Subtarget; } + + virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out, + CodeGenFileType FileType); +}; + class PPC32TargetMachine : public PowerPCTargetMachine { PPC32InstrInfo InstrInfo; PPC32JITInfo JITInfo; |