forked from OSchip/llvm-project
parent
09d81caa12
commit
6a6137832d
|
@ -46,13 +46,8 @@ FunctionPass *createX87FPRegKillInserterPass();
|
|||
|
||||
/// createX86CodeEmitterPass - Return a pass that emits the collected X86 code
|
||||
/// to the specified MCE object.
|
||||
|
||||
FunctionPass *createX86CodeEmitterPass(X86TargetMachine &TM,
|
||||
MachineCodeEmitter &MCE);
|
||||
FunctionPass *createX86JITCodeEmitterPass(X86TargetMachine &TM,
|
||||
JITCodeEmitter &JCE);
|
||||
FunctionPass *createX86ObjectCodeEmitterPass(X86TargetMachine &TM,
|
||||
ObjectCodeEmitter &OCE);
|
||||
|
||||
MCCodeEmitter *createX86MCCodeEmitter(const Target &, TargetMachine &TM);
|
||||
|
||||
|
|
|
@ -21,9 +21,7 @@
|
|||
#include "X86.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/PassManager.h"
|
||||
#include "llvm/CodeGen/MachineCodeEmitter.h"
|
||||
#include "llvm/CodeGen/JITCodeEmitter.h"
|
||||
#include "llvm/CodeGen/ObjectCodeEmitter.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/CodeGen/MachineInstr.h"
|
||||
#include "llvm/CodeGen/MachineModuleInfo.h"
|
||||
|
@ -110,19 +108,10 @@ template<class CodeEmitter>
|
|||
|
||||
/// createX86CodeEmitterPass - Return a pass that emits the collected X86 code
|
||||
/// to the specified templated MachineCodeEmitter object.
|
||||
|
||||
FunctionPass *llvm::createX86CodeEmitterPass(X86TargetMachine &TM,
|
||||
MachineCodeEmitter &MCE) {
|
||||
return new Emitter<MachineCodeEmitter>(TM, MCE);
|
||||
}
|
||||
FunctionPass *llvm::createX86JITCodeEmitterPass(X86TargetMachine &TM,
|
||||
JITCodeEmitter &JCE) {
|
||||
return new Emitter<JITCodeEmitter>(TM, JCE);
|
||||
}
|
||||
FunctionPass *llvm::createX86ObjectCodeEmitterPass(X86TargetMachine &TM,
|
||||
ObjectCodeEmitter &OCE) {
|
||||
return new Emitter<ObjectCodeEmitter>(TM, OCE);
|
||||
}
|
||||
|
||||
template<class CodeEmitter>
|
||||
bool Emitter<CodeEmitter>::runOnMachineFunction(MachineFunction &MF) {
|
||||
|
|
|
@ -166,22 +166,6 @@ bool X86TargetMachine::addPostRegAlloc(PassManagerBase &PM,
|
|||
return true; // -print-machineinstr should print after this.
|
||||
}
|
||||
|
||||
bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
|
||||
CodeGenOpt::Level OptLevel,
|
||||
MachineCodeEmitter &MCE) {
|
||||
// FIXME: Move this to TargetJITInfo!
|
||||
// On Darwin, do not override 64-bit setting made in X86TargetMachine().
|
||||
if (DefRelocModel == Reloc::Default &&
|
||||
(!Subtarget.isTargetDarwin() || !Subtarget.is64Bit())) {
|
||||
setRelocationModel(Reloc::Static);
|
||||
Subtarget.setPICStyle(PICStyles::None);
|
||||
}
|
||||
|
||||
PM.add(createX86CodeEmitterPass(*this, MCE));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
|
||||
CodeGenOpt::Level OptLevel,
|
||||
JITCodeEmitter &JCE) {
|
||||
|
@ -199,13 +183,6 @@ bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
|
|||
return false;
|
||||
}
|
||||
|
||||
bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,
|
||||
CodeGenOpt::Level OptLevel,
|
||||
ObjectCodeEmitter &OCE) {
|
||||
PM.add(createX86ObjectCodeEmitterPass(*this, OCE));
|
||||
return false;
|
||||
}
|
||||
|
||||
void X86TargetMachine::setCodeModelForStatic() {
|
||||
|
||||
if (getCodeModel() != CodeModel::Default) return;
|
||||
|
|
|
@ -78,12 +78,8 @@ public:
|
|||
virtual bool addInstSelector(PassManagerBase &PM, CodeGenOpt::Level OptLevel);
|
||||
virtual bool addPreRegAlloc(PassManagerBase &PM, CodeGenOpt::Level OptLevel);
|
||||
virtual bool addPostRegAlloc(PassManagerBase &PM, CodeGenOpt::Level OptLevel);
|
||||
virtual bool addCodeEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel,
|
||||
MachineCodeEmitter &MCE);
|
||||
virtual bool addCodeEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel,
|
||||
JITCodeEmitter &JCE);
|
||||
virtual bool addCodeEmitter(PassManagerBase &PM, CodeGenOpt::Level OptLevel,
|
||||
ObjectCodeEmitter &OCE);
|
||||
};
|
||||
|
||||
/// X86_32TargetMachine - X86 32-bit target machine.
|
||||
|
|
Loading…
Reference in New Issue