diff options
author | Eric Christopher <echristo@apple.com> | 2011-04-05 00:39:26 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-04-05 00:39:26 +0000 |
commit | 0435661582c5ccbd3984a710850fc8bc8939e566 (patch) | |
tree | 105bbd85b89dd492f17221231be8d2a36ed1c2dc /lib | |
parent | 1809d5fa216bbdc505502468b7bd85629e1e44bc (diff) | |
download | llvm-0435661582c5ccbd3984a710850fc8bc8939e566.tar.gz llvm-0435661582c5ccbd3984a710850fc8bc8939e566.tar.bz2 llvm-0435661582c5ccbd3984a710850fc8bc8939e566.tar.xz |
Just use BL all the time. It's safer that way.
Fixes rdar://9184526
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMFastISel.cpp | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp index 0f3e6cf2c6..1e94ab60f7 100644 --- a/lib/Target/ARM/ARMFastISel.cpp +++ b/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; |