summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-11 20:29:57 +0000
committerChris Lattner <sabre@nondot.org>2009-08-11 20:29:57 +0000
commitd5a91796852b72b8f8101946689e933122818353 (patch)
tree81e7eebe077f123fef01bff8ec737b4a14d84025 /llvm/lib/CodeGen
parent77ad32ab0e2a7acc7b64a435d64d8d3475b64e1b (diff)
downloadbcm5719-llvm-d5a91796852b72b8f8101946689e933122818353.tar.gz
bcm5719-llvm-d5a91796852b72b8f8101946689e933122818353.zip
"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better. llvm-svn: 78708
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp26
1 files changed, 12 insertions, 14 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 8e59550028d..50733e6cd53 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -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;
}
}
OpenPOWER on IntegriCloud