Make various changes suggested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79358 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index e6ee960..6de6f2b 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -18,6 +18,7 @@
 #include "llvm/Module.h"
 #include "llvm/CodeGen/GCMetadataPrinter.h"
 #include "llvm/CodeGen/MachineConstantPool.h"
+#include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineJumpTableInfo.h"
 #include "llvm/CodeGen/MachineLoopInfo.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"
@@ -30,7 +31,6 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormattedStream.h"
-#include "llvm/Support/IOManip.h"
 #include "llvm/Support/Mangler.h"
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetData.h"
@@ -48,10 +48,6 @@
 AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
            cl::init(cl::BOU_UNSET));
 
-static cl::opt<cl::boolOrDefault>
-AsmExuberant("asm-exuberant", cl::desc("Add many comments."),
-           cl::init(cl::BOU_FALSE));
-
 char AsmPrinter::ID = 0;
 AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
                        const TargetAsmInfo *T, bool VDef)
@@ -69,11 +65,6 @@
   case cl::BOU_TRUE:  VerboseAsm = true;  break;
   case cl::BOU_FALSE: VerboseAsm = false; break;
   }
-  switch (AsmExuberant) {
-  case cl::BOU_UNSET: ExuberantAsm = false;  break;
-  case cl::BOU_TRUE:  ExuberantAsm = true;  break;
-  case cl::BOU_FALSE: ExuberantAsm = false; break;
-  }
 }
 
 AsmPrinter::~AsmPrinter() {
@@ -106,7 +97,7 @@
   AU.setPreservesAll();
   MachineFunctionPass::getAnalysisUsage(AU);
   AU.addRequired<GCModuleInfo>();
-  if (ExuberantAsm)
+  if (VerboseAsm)
     AU.addRequired<MachineLoopInfo>();
 }
 
@@ -238,7 +229,7 @@
   CurrentFnName = Mang->getMangledName(MF.getFunction());
   IncrementFunctionNumber();
 
-  if (ExuberantAsm) {
+  if (VerboseAsm) {
     LI = &getAnalysis<MachineLoopInfo>();
   }
 }
@@ -1802,10 +1793,50 @@
   }
 }
 
+/// Indent - Insert spaces into the character output stream.  The
+/// "level" is multiplied by the "scale" to calculate the number of
+/// spaces to insert.  "level" can represent something like loop
+/// nesting level, for example.
+///
+static formatted_raw_ostream &
+Indent(formatted_raw_ostream &out, int level, int scale = 2) {
+  for(int i = 0; i < level*scale; ++i) {
+    out << " ";
+  }
+  return out;
+}
+
+/// PrintChildLoopComment - Print comments about child loops within
+/// the loop for this basic block, with nesting.
+///
+static void PrintChildLoopComment(formatted_raw_ostream &O,
+                                  const MachineLoop *loop,
+                                  const TargetAsmInfo *TAI,
+                                  int FunctionNumber) {
+  // Add child loop information
+  for(MachineLoop::iterator cl = loop->begin(),
+        clend = loop->end();
+      cl != clend;
+      ++cl) {
+    MachineBasicBlock *Header = (*cl)->getHeader();
+    assert(Header && "No header for loop");
+
+    O << '\n';
+    O.PadToColumn(TAI->getCommentColumn());
+
+    O << TAI->getCommentString();
+    Indent(O, (*cl)->getLoopDepth()-1)
+      << " Child Loop BB" << FunctionNumber << "_"
+      << Header->getNumber() << " Depth " << (*cl)->getLoopDepth();
+
+    PrintChildLoopComment(O, *cl, TAI, FunctionNumber);
+  }
+}
+
 /// EmitComments - Pretty-print comments for basic blocks
 void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const
 {
-  if (ExuberantAsm) {
+  if (VerboseAsm) {
     // Add loop depth information
     const MachineLoop *loop = LI->getLoopFor(&MBB);
 
@@ -1823,7 +1854,7 @@
       
       if (Header == &MBB) {
         O << TAI->getCommentString() << " Loop Header";
-        PrintChildLoopComment(loop);
+        PrintChildLoopComment(O, loop, TAI, getFunctionNumber());
       }
       else {
         O << TAI->getCommentString() << " Loop Header is BB"
@@ -1845,30 +1876,11 @@
 
         O << '\n';
         O.PadToColumn(TAI->getCommentColumn());
-        O << TAI->getCommentString() << Indent(CurLoop->getLoopDepth()-1)
-          << " Inside Loop BB" << getFunctionNumber() << "_" 
+        O << TAI->getCommentString();
+        Indent(O, CurLoop->getLoopDepth()-1)
+          << " Inside Loop BB" << getFunctionNumber() << "_"
           << Header->getNumber() << " Depth " << CurLoop->getLoopDepth();
       }
     }
   }
 }
-
-void AsmPrinter::PrintChildLoopComment(const MachineLoop *loop) const {
-  // Add child loop information
-  for(MachineLoop::iterator cl = loop->begin(),
-        clend = loop->end();
-      cl != clend;
-      ++cl) {
-    MachineBasicBlock *Header = (*cl)->getHeader();
-    assert(Header && "No header for loop");
-
-    O << '\n';
-    O.PadToColumn(TAI->getCommentColumn());
-
-    O << TAI->getCommentString() << Indent((*cl)->getLoopDepth()-1)
-      << " Child Loop BB" << getFunctionNumber() << "_"
-      << Header->getNumber() << " Depth " << (*cl)->getLoopDepth();
-
-    PrintChildLoopComment(*cl);
-  }
-}