Disable emitting LLVM-to-MI maps, by default.
[oota-llvm.git] / lib / Target / SparcV9 / SparcV9TargetMachine.cpp
index 8a75642f119d22251c5b1c65f852a6fe96a79d28..71e323918060f2db97cc7f16ee06a61e7ee909b6 100644 (file)
@@ -38,22 +38,24 @@ const TargetInstrDescriptor SparcMachineInstrDesc[] = {
 // Command line options to control choice of code generation passes.
 //---------------------------------------------------------------------------
 
-static cl::opt<bool> DisablePreOpt("nopreopt",
+static cl::opt<bool> DisablePreOpt("disable-preopt",
               cl::desc("Disable optimizations prior to instruction selection"));
 
-static cl::opt<bool> DisableSched("nosched",
+static cl::opt<bool> DisableSched("disable-sched",
                                   cl::desc("Disable local scheduling pass"));
 
-static cl::opt<bool> DisablePeephole("nopeephole",
+static cl::opt<bool> DisablePeephole("disable-peephole",
                                 cl::desc("Disable peephole optimization pass"));
 
-static cl::opt<bool>
-DisableStrip("disable-strip",
-         cl::desc("Do not strip the LLVM bytecode included in the executable"));
+static cl::opt<bool> EmitMappingInfo("emitmaps",
+             cl::desc("Emit LLVM-to-MachineCode mapping info to assembly"));
 
-static cl::opt<bool>
-DumpInput("dump-input",cl::desc("Print bytecode before native code generation"),
-          cl::Hidden);
+static cl::opt<bool> DisableStrip("disable-strip",
+            cl::desc("Do not strip the LLVM bytecode included in executable"));
+
+static cl::opt<bool> DumpInput("dump-input",
+                      cl::desc("Print bytecode before native code generation"),
+                      cl::Hidden);
 
 //----------------------------------------------------------------------------
 // allocateSparcTargetMachine - Allocate and return a subclass of TargetMachine
@@ -197,7 +199,8 @@ bool UltraSparc::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out)
   if (!DisablePeephole)
     PM.add(createPeepholeOptsPass(*this));
 
-  PM.add(getMappingInfoCollector(Out));  
+  if (EmitMappingInfo)
+    PM.add(getMappingInfoCollector(Out));  
 
   // Output assembly language to the .s file.  Assembly emission is split into
   // two parts: Function output and Global value output.  This is because
@@ -212,8 +215,11 @@ bool UltraSparc::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out)
   PM.add(getModuleAsmPrinterPass(Out));
 
   // Emit bytecode to the assembly file into its special section next
-  PM.add(getEmitBytecodeToAsmPass(Out));
-  PM.add(getFunctionInfo(Out)); 
+  if (EmitMappingInfo) {
+    PM.add(getEmitBytecodeToAsmPass(Out));
+    PM.add(getFunctionInfo(Out)); 
+  }
+
   return false;
 }