"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better. llvm-svn: 78708
This commit is contained in:
parent
77ad32ab0e
commit
d5a9179685
|
@ -420,11 +420,11 @@ void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI,
|
|||
void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
||||
const MachineBasicBlock *MBB,
|
||||
unsigned uid) const {
|
||||
bool IsPic = TM.getRelocationModel() == Reloc::PIC_;
|
||||
bool isPIC = TM.getRelocationModel() == Reloc::PIC_;
|
||||
|
||||
// Use JumpTableDirective otherwise honor the entry size from the jump table
|
||||
// info.
|
||||
const char *JTEntryDirective = TAI->getJumpTableDirective();
|
||||
const char *JTEntryDirective = TAI->getJumpTableDirective(isPIC);
|
||||
bool HadJTEntryDirective = JTEntryDirective != NULL;
|
||||
if (!HadJTEntryDirective) {
|
||||
JTEntryDirective = MJTI->getEntrySize() == 4 ?
|
||||
|
@ -438,20 +438,18 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
|||
// emit the table entries as differences between two text section labels.
|
||||
// If we're emitting non-PIC code, then emit the entries as direct
|
||||
// references to the target basic blocks.
|
||||
if (IsPic) {
|
||||
if (TAI->getSetDirective()) {
|
||||
O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
|
||||
<< '_' << uid << "_set_" << MBB->getNumber();
|
||||
} else {
|
||||
printBasicBlockLabel(MBB, false, false, false);
|
||||
// If the arch uses custom Jump Table directives, don't calc relative to
|
||||
// JT
|
||||
if (!HadJTEntryDirective)
|
||||
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
|
||||
<< getFunctionNumber() << '_' << uid;
|
||||
}
|
||||
if (!isPIC) {
|
||||
printBasicBlockLabel(MBB, false, false, false);
|
||||
} else if (TAI->getSetDirective()) {
|
||||
O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
|
||||
<< '_' << uid << "_set_" << MBB->getNumber();
|
||||
} else {
|
||||
printBasicBlockLabel(MBB, false, false, false);
|
||||
// If the arch uses custom Jump Table directives, don't calc relative to
|
||||
// JT
|
||||
if (!HadJTEntryDirective)
|
||||
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
|
||||
<< getFunctionNumber() << '_' << uid;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue