- Emit subsections_via_symbols for Darwin.
- Conditionalize Dwarf debugging output (Darwin only for now).

llvm-svn: 26582
diff --git a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
index 5bc8b24..a04dfca 100755
--- a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
@@ -26,15 +26,19 @@
 /// method to print assembly for each instruction.
 ///
 bool X86IntelAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
-  // Let PassManager know we need debug information and relay
-  // the MachineDebugInfo address on to DwarfWriter.
-  DW.SetDebugInfo(&getAnalysis<MachineDebugInfo>());
+  if (forDarwin) {
+    // Let PassManager know we need debug information and relay
+    // the MachineDebugInfo address on to DwarfWriter.
+    DW.SetDebugInfo(&getAnalysis<MachineDebugInfo>());
+  }
 
   SetupMachineFunction(MF);
   O << "\n\n";
 
-  // Emit pre-function debug information.
-  DW.BeginFunction(MF);
+  if (forDarwin) {
+    // Emit pre-function debug information.
+    DW.BeginFunction(MF);
+  }
 
   // Print out constants referenced by the function
   EmitConstantPool(MF.getConstantPool());
@@ -63,8 +67,10 @@
     }
   }
 
-  // Emit post-function debug information.
-  DW.EndFunction(MF);
+  if (forDarwin) {
+    // Emit post-function debug information.
+    DW.EndFunction(MF);
+  }
 
   // We didn't modify anything.
   return false;