35 Subtarget(TT, CPU, FS, is64bit),
36 DL(Subtarget.getDataLayout()),
38 TLInfo(*this), TSInfo(*this),
39 FrameLowering(Subtarget) {
51 return getTM<SparcTargetMachine>();
54 virtual bool addInstSelector();
55 virtual bool addPreEmitPass();
60 return new SparcPassConfig(
this, PM);
63 bool SparcPassConfig::addInstSelector() {
78 bool SparcPassConfig::addPreEmitPass(){
83 void SparcV8TargetMachine::anchor() { }
95 void SparcV9TargetMachine::anchor() { }
SparcTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL, bool is64bit)
FunctionPass * createSparcDelaySlotFillerPass(TargetMachine &TM)
void LLVMInitializeSparcTarget()
FunctionPass * createSparcJITCodeEmitterPass(SparcTargetMachine &TM, JITCodeEmitter &JCE)
SparcV8TargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL)
SparcV9TargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL)
virtual TargetPassConfig * createPassConfig(PassManagerBase &PM)
FunctionPass * createSparcISelDag(SparcTargetMachine &TM)
virtual bool addCodeEmitter(PassManagerBase &PM, JITCodeEmitter &JCE)
static GCMetadataPrinterRegistry::Add< OcamlGCMetadataPrinter > Y("ocaml","ocaml 3.10-compatible collector")
static RegisterPass< NVPTXAllocaHoisting > X("alloca-hoisting","Hoisting alloca instructions in non-entry ""blocks to the entry block")