Extend printBasicBlockLabel a bit so that it can be used to print all
basic block labels, consolidating the code to do so in one place for each
target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28050 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86ATTAsmPrinter.cpp b/lib/Target/X86/X86ATTAsmPrinter.cpp
index 3860118..1b10123 100755
--- a/lib/Target/X86/X86ATTAsmPrinter.cpp
+++ b/lib/Target/X86/X86ATTAsmPrinter.cpp
@@ -80,10 +80,10 @@
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
        I != E; ++I) {
     // Print a label for the basic block.
-    if (I->pred_begin() != I->pred_end())
-      O << PrivateGlobalPrefix << "BB" << CurrentFnName << "_" << I->getNumber()
-        << ":\t" << CommentString << " " << I->getBasicBlock()->getName()
-        << "\n";
+    if (I->pred_begin() != I->pred_end()) {
+      printBasicBlockLabel(I, true);
+      O << '\n';
+    }
     for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
          II != E; ++II) {
       // Print the assembly for the instruction.
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index ee1383e..2c41663 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -206,12 +206,16 @@
   return false; // success
 }
 
-void X86SharedAsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB) 
-     const {
+void X86SharedAsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
+                                               bool printColon,
+                                               bool printComment) const {
   O << PrivateGlobalPrefix << "BB" 
-  << Mang->getValueName(MBB->getParent()->getFunction())
-  << "_" << MBB->getNumber() << '\t' << CommentString
-  << MBB->getBasicBlock()->getName();
+    << Mang->getValueName(MBB->getParent()->getFunction()) << "_" 
+    << MBB->getNumber();
+  if (printColon)
+    O << ':';
+  if (printComment)
+    O << '\t' << CommentString << MBB->getBasicBlock()->getName();
 }
 
 /// createX86CodePrinterPass - Returns a pass that prints the X86 assembly code
diff --git a/lib/Target/X86/X86AsmPrinter.h b/lib/Target/X86/X86AsmPrinter.h
index fa84c9e..2d341d9 100755
--- a/lib/Target/X86/X86AsmPrinter.h
+++ b/lib/Target/X86/X86AsmPrinter.h
@@ -89,7 +89,9 @@
        MI->getOperand(Op+3).isConstantPoolIndex());
   }
 
-  virtual void printBasicBlockLabel(const MachineBasicBlock *MBB) const; 
+  virtual void printBasicBlockLabel(const MachineBasicBlock *MBB,
+                                    bool printColon = false,
+                                    bool printComment = true) const;
 };
 
 } // end namespace llvm
diff --git a/lib/Target/X86/X86IntelAsmPrinter.cpp b/lib/Target/X86/X86IntelAsmPrinter.cpp
index 747d576..8f12446 100755
--- a/lib/Target/X86/X86IntelAsmPrinter.cpp
+++ b/lib/Target/X86/X86IntelAsmPrinter.cpp
@@ -72,10 +72,10 @@
   for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
        I != E; ++I) {
     // Print a label for the basic block if there are any predecessors.
-    if (I->pred_begin() != I->pred_end())
-      O << PrivateGlobalPrefix << "BB" << CurrentFnName << "_" << I->getNumber()
-        << ":\t"
-        << CommentString << " " << I->getBasicBlock()->getName() << "\n";
+    if (I->pred_begin() != I->pred_end()) {
+      printBasicBlockLabel(I, true);
+      O << '\n';
+    }
     for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
          II != E; ++II) {
       // Print the assembly for the instruction.