pass an instprinter into the AsmPrinter if it is available.
authorChris Lattner <sabre@nondot.org>
Wed, 3 Feb 2010 00:29:55 +0000 (00:29 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 3 Feb 2010 00:29:55 +0000 (00:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95168 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LLVMTargetMachine.cpp

index a53fdcc2a04a4b160d7271285ab25bd9bcaf5e5e..2083c0a7cfe521aa818b0b48b29c9133635b9e17 100644 (file)
@@ -126,14 +126,18 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
   formatted_raw_ostream *LegacyOutput;
   switch (FileType) {
   default: return CGFT_ErrorOccurred;
-  case CGFT_AssemblyFile:
-    AsmStreamer.reset(createAsmStreamer(*Context, Out, *getMCAsmInfo(),
+  case CGFT_AssemblyFile: {
+    const MCAsmInfo &MAI = *getMCAsmInfo();
+    MCInstPrinter *InstPrinter =
+      getTarget().createMCInstPrinter(MAI.getAssemblerDialect(), MAI, Out);
+    AsmStreamer.reset(createAsmStreamer(*Context, Out, MAI,
                                         getTargetData()->isLittleEndian(),
-                                        getVerboseAsm(), /*instprinter*/0,
+                                        getVerboseAsm(), InstPrinter,
                                         /*codeemitter*/0));
     // Set the AsmPrinter's "O" to the output file.
     LegacyOutput = &Out;
     break;
+  }
   case CGFT_ObjectFile: {
     // Create the code emitter for the target if it exists.  If not, .o file
     // emission fails.