add a new MCAsmStreamer::GetCommentOS method to simplify stuff
[oota-llvm.git] / lib / CodeGen / AsmPrinter / AsmPrinter.cpp
index 32e9036af94f74a83385957141e4c76677a563fa..3f0a9def7fe3c1de0d3779aee55370c9cf08883b 100644 (file)
@@ -50,6 +50,15 @@ 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)
@@ -59,15 +68,12 @@ AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
     OutContext(*new MCContext()),
     // FIXME: Pass instprinter to streamer.
     OutStreamer(*createAsmStreamer(OutContext, O, *T,
-                                   TM.getTargetData()->isLittleEndian(), 0)),
+                                   TM.getTargetData()->isLittleEndian(),
+                                   getVerboseAsm(VDef), 0)),
 
     LastMI(0), LastFn(0), Counter(~0U), PrevDLT(NULL) {
   DW = 0; MMI = 0;
-  switch (AsmVerbose) {
-  case cl::BOU_UNSET: VerboseAsm = VDef;  break;
-  case cl::BOU_TRUE:  VerboseAsm = true;  break;
-  case cl::BOU_FALSE: VerboseAsm = false; break;
-  }
+  VerboseAsm = getVerboseAsm(VDef);
 }
 
 AsmPrinter::~AsmPrinter() {
@@ -1124,9 +1130,8 @@ static void EmitGlobalConstantFP(const ConstantFP *CFP, unsigned AddrSpace,
   // precision.
   if (CFP->getType()->isDoubleTy()) {
     if (AP.VerboseAsm) {
-      double Val = CFP->getValueAPF().convertToDouble();  // for comment only
-      AP.O.PadToColumn(AP.MAI->getCommentColumn());
-      AP.O << AP.MAI->getCommentString() << " double " << Val << '\n';
+      double Val = CFP->getValueAPF().convertToDouble();
+      AP.OutStreamer.GetCommentOS() << "double " << Val << '\n';
     }
 
     uint64_t Val = CFP->getValueAPF().bitcastToAPInt().getZExtValue();