1. Fixing error where basic block labels were not being printed out when they need to be for the MBlaze backend because AsmPrinter::isBlockOnlyReachableByFallthrough does not take into account delay slots.
2. Re-adding .mask and .frame directives in printed assembly.
3. Adding .ent and .end directives in printed assembly.
4. Minor cleanups to MBlaze backend.
llvm-svn: 120095
diff --git a/llvm/lib/Target/MBlaze/MBlazeMCInstLower.cpp b/llvm/lib/Target/MBlaze/MBlazeMCInstLower.cpp
index 2a48c0d..a7e400b 100644
--- a/llvm/lib/Target/MBlaze/MBlazeMCInstLower.cpp
+++ b/llvm/lib/Target/MBlaze/MBlazeMCInstLower.cpp
@@ -32,10 +32,8 @@
MCSymbol *MBlazeMCInstLower::
GetGlobalAddressSymbol(const MachineOperand &MO) const {
switch (MO.getTargetFlags()) {
- default:
- llvm_unreachable("Unknown target flag on GV operand");
-
- case 0: break;
+ default: llvm_unreachable("Unknown target flag on GV operand");
+ case 0: break;
}
return Printer.Mang->getSymbol(MO.getGlobal());
@@ -44,10 +42,8 @@
MCSymbol *MBlazeMCInstLower::
GetExternalSymbolSymbol(const MachineOperand &MO) const {
switch (MO.getTargetFlags()) {
- default:
- assert(0 && "Unknown target flag on GV operand");
-
- case 0: break;
+ default: llvm_unreachable("Unknown target flag on GV operand");
+ case 0: break;
}
return Printer.GetExternalSymbolSymbol(MO.getSymbolName());
@@ -59,12 +55,9 @@
raw_svector_ostream(Name) << Printer.MAI->getPrivateGlobalPrefix() << "JTI"
<< Printer.getFunctionNumber() << '_'
<< MO.getIndex();
-
switch (MO.getTargetFlags()) {
- default:
- llvm_unreachable("Unknown target flag on GV operand");
-
- case 0: break;
+ default: llvm_unreachable("Unknown target flag on GV operand");
+ case 0: break;
}
// Create a symbol for the name.
@@ -129,8 +122,7 @@
MCOperand MCOp;
switch (MO.getType()) {
- default:
- assert(0 && "unknown operand type");
+ default: llvm_unreachable("unknown operand type");
case MachineOperand::MO_Register:
// Ignore all implicit register operands.
if (MO.isImplicit()) continue;