mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-03 13:31:05 +00:00
Factor shared code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7600 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
122558b05b
commit
c9bbfbc04e
@ -41,15 +41,12 @@ X86TargetMachine::X86TargetMachine(unsigned Config)
|
|||||||
FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) {
|
FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// llc backend for x86
|
|
||||||
|
// addPassesToEmitAssembly - We currently use all of the same passes as the JIT
|
||||||
|
// does to emit statically compiled machine code.
|
||||||
bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
|
bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
|
||||||
std::ostream &Out) {
|
std::ostream &Out) {
|
||||||
PM.add(createLowerSwitchPass());
|
addPassesToJITCompile(PM);
|
||||||
PM.add(createX86SimpleInstructionSelector(*this));
|
|
||||||
PM.add(createLocalRegisterAllocator());
|
|
||||||
PM.add(createX86FloatingPointStackifierPass());
|
|
||||||
PM.add(createPrologEpilogCodeInserter());
|
|
||||||
PM.add(createX86PeepholeOptimizerPass());
|
|
||||||
PM.add(createX86CodePrinterPass(Out, *this));
|
PM.add(createX86CodePrinterPass(Out, *this));
|
||||||
return false; // success!
|
return false; // success!
|
||||||
}
|
}
|
||||||
@ -93,7 +90,6 @@ bool X86TargetMachine::addPassesToJITCompile(PassManager &PM) {
|
|||||||
|
|
||||||
if (PrintCode) // Print the register-allocated code
|
if (PrintCode) // Print the register-allocated code
|
||||||
PM.add(createX86CodePrinterPass(std::cerr, *this));
|
PM.add(createX86CodePrinterPass(std::cerr, *this));
|
||||||
|
|
||||||
return false; // success!
|
return false; // success!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user