Instead of printing unnecessary basic block labels as labels in

verbose-asm mode, print comments instead. This eliminates a non-comment
difference between verbose-asm mode and non-verbose-asm mode.

Also, factor out the relevant code out of all the targets and into
target-independent code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2009-10-06 17:38:38 +00:00
parent 6cf4963cdc
commit e3cc3f3c84
15 changed files with 16 additions and 42 deletions

View File

@ -1623,8 +1623,15 @@ void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock *MBB) const {
if (unsigned Align = MBB->getAlignment())
EmitAlignment(Log2_32(Align));
GetMBBSymbol(MBB->getNumber())->print(O, MAI);
O << ':';
if (MBB->pred_empty() || MBB->isOnlyReachableByFallthrough()) {
if (VerboseAsm)
O << MAI->getCommentString() << " BB#" << MBB->getNumber() << ':';
} else {
GetMBBSymbol(MBB->getNumber())->print(O, MAI);
O << ':';
if (!VerboseAsm)
O << '\n';
}
if (VerboseAsm) {
if (const BasicBlock *BB = MBB->getBasicBlock())
@ -1635,6 +1642,7 @@ void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock *MBB) const {
}
EmitComments(*MBB);
O << '\n';
}
}