mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user