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
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index d5a628c..1673fff 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -41,6 +41,19 @@
   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.