OSDN Git Service

move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with...
authorChris Lattner <sabre@nondot.org>
Tue, 2 Feb 2010 22:54:51 +0000 (22:54 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 2 Feb 2010 22:54:51 +0000 (22:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95152 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/LLVMTargetMachine.cpp

index 36aa748..49db51e 100644 (file)
@@ -53,22 +53,9 @@ using namespace llvm;
 
 STATISTIC(EmittedInsts, "Number of machine instrs printed");
 
-static cl::opt<cl::boolOrDefault>
-AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
-           cl::init(cl::BOU_UNSET));
-
-static bool getVerboseAsm(bool VDef) {
-  switch (AsmVerbose) {
-  default:
-  case cl::BOU_UNSET: return VDef;
-  case cl::BOU_TRUE:  return true;
-  case cl::BOU_FALSE: return false;
-  }      
-}
-
 char AsmPrinter::ID = 0;
 AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
-                       const MCAsmInfo *T, bool VDef)
+                       const MCAsmInfo *T, bool VerboseAsm)
   : MachineFunctionPass(&ID), O(o),
     TM(tm), MAI(T), TRI(tm.getRegisterInfo()),
 
@@ -76,11 +63,11 @@ AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
     // FIXME: Pass instprinter to streamer.
     OutStreamer(*createAsmStreamer(OutContext, O, *T,
                                    TM.getTargetData()->isLittleEndian(),
-                                   getVerboseAsm(VDef), 0)),
+                                   VerboseAsm, 0)),
 
     LastMI(0), LastFn(0), Counter(~0U), PrevDLT(NULL) {
   DW = 0; MMI = 0;
-  VerboseAsm = getVerboseAsm(VDef);
+  this->VerboseAsm = VerboseAsm;
 }
 
 AsmPrinter::~AsmPrinter() {
index bc9ddbb..3063e5e 100644 (file)
@@ -62,6 +62,18 @@ static cl::opt<bool> VerifyMachineCode("verify-machineinstrs", cl::Hidden,
     cl::desc("Verify generated machine code"),
     cl::init(getenv("LLVM_VERIFY_MACHINEINSTRS")!=NULL));
 
+static cl::opt<cl::boolOrDefault>
+AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
+           cl::init(cl::BOU_UNSET));
+
+static bool getVerboseAsm(bool VDef) {
+  switch (AsmVerbose) {
+    default:
+    case cl::BOU_UNSET: return VDef;
+    case cl::BOU_TRUE:  return true;
+    case cl::BOU_FALSE: return false;
+  }      
+}
 
 // Enable or disable FastISel. Both options are needed, because
 // FastISel is enabled by default with -fast, and we wish to be
@@ -111,7 +123,7 @@ LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
   case CGFT_AssemblyFile: {
     FunctionPass *Printer =
       getTarget().createAsmPrinter(Out, *this, getMCAsmInfo(),
-                                   getAsmVerbosityDefault());
+                                   getVerboseAsm(getAsmVerbosityDefault()));
     if (Printer == 0) return CGFT_ErrorOccurred;
     PM.add(Printer);
     break;