summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-04-05 00:39:26 +0000
committerEric Christopher <echristo@apple.com>2011-04-05 00:39:26 +0000
commitb968f4defefdb4410608966442b3ecd8124bc6cb (patch)
tree77eaac7b4a11837d90401c6ca16ccbfe48efeac8 /llvm
parentad68c93a2de862fb9ea3b83a63b459c4a20ffbd9 (diff)
downloadbcm5719-llvm-b968f4defefdb4410608966442b3ecd8124bc6cb.tar.gz
bcm5719-llvm-b968f4defefdb4410608966442b3ecd8124bc6cb.zip
Just use BL all the time. It's safer that way.
Fixes rdar://9184526 llvm-svn: 128869
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM/ARMFastISel.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/llvm/lib/Target/ARM/ARMFastISel.cpp b/llvm/lib/Target/ARM/ARMFastISel.cpp
index 0f3e6cf2c64..1e94ab60f7d 100644
--- a/llvm/lib/Target/ARM/ARMFastISel.cpp
+++ b/llvm/lib/Target/ARM/ARMFastISel.cpp
@@ -1690,17 +1690,9 @@ bool ARMFastISel::SelectRet(const Instruction *I) {
unsigned ARMFastISel::ARMSelectCallOp(const GlobalValue *GV) {
- // Depend our opcode for thumb on whether or not we're targeting an
- // externally callable function. For libcalls we'll just pass a NULL GV
- // in here.
- bool isExternal = false;
- if (!GV || GV->hasExternalLinkage()) isExternal = true;
-
// Darwin needs the r9 versions of the opcodes.
bool isDarwin = Subtarget->isTargetDarwin();
- if (isThumb && isExternal) {
- return isDarwin ? ARM::tBLXi_r9 : ARM::tBLXi;
- } else if (isThumb) {
+ if (isThumb) {
return isDarwin ? ARM::tBLr9 : ARM::tBL;
} else {
return isDarwin ? ARM::BLr9 : ARM::BL;
OpenPOWER on IntegriCloud