lib/Target/X86/X86TargetMachine.{cpp,h}: Add initial version

(non-working) of llc guts for X86, and add a prototype for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6779 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Brian Gaeke 2003-06-18 21:43:21 +00:00
parent 8c6bb90b8e
commit de3aa4f77f
2 changed files with 15 additions and 0 deletions

View File

@ -41,6 +41,19 @@ X86TargetMachine::X86TargetMachine(unsigned Config)
FrameInfo(TargetFrameInfo::StackGrowsDown, 8/*16 for SSE*/, 4) {
}
// llc backend for x86
bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
std::ostream &Out) {
PM.add(createLowerSwitchPass());
PM.add(createSimpleX86InstructionSelector(*this));
PM.add(createLocalRegisterAllocator());
PM.add(createX86FloatingPointStackifierPass());
PM.add(createPrologEpilogCodeInserter());
PM.add(createX86PeepholeOptimizerPass());
PM.add(createX86CodePrinterPass(Out));
return false; // success!
}
/// addPassesToJITCompile - Add passes to the specified pass manager to
/// implement a fast dynamic compiler for this target. Return true if this is
/// not supported for this target.

View File

@ -42,6 +42,8 @@ public:
///
virtual bool addPassesToEmitMachineCode(PassManager &PM,
MachineCodeEmitter &MCE);
virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out);
};
#endif