summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-07-08 20:18:11 +0000
committerJim Grosbach <grosbach@apple.com>2011-07-08 20:18:11 +0000
commit3840c90f73c626407a46ef1e009ca8bd0fdacfae (patch)
treeb50186d2bb86200e9990c3a664c06fe6e4c3ccbc /llvm/lib
parentf7ca26a077719d478788c401288d9181eb636984 (diff)
downloadbcm5719-llvm-3840c90f73c626407a46ef1e009ca8bd0fdacfae.tar.gz
bcm5719-llvm-3840c90f73c626407a46ef1e009ca8bd0fdacfae.zip
Add more info to FIXME.
llvm-svn: 134729
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 8cd9aa27d77..d9bb3e65fa4 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -1637,7 +1637,11 @@ ARMTargetLowering::IsEligibleForTailCallOptimization(SDValue Callee,
return false;
// FIXME: Completely disable sibcall for Thumb1 since Thumb1RegisterInfo::
- // emitEpilogue is not ready for them.
+ // emitEpilogue is not ready for them. Thumb tail calls also use t2B, as
+ // the Thumb1 16-bit unconditional branch doesn't have sufficient relocation
+ // support in the assembler and linker to be used. This would need to be
+ // fixed to fully support tail calls in Thumb1.
+ //
// Doing this is tricky, since the LDM/POP instruction on Thumb doesn't take
// LR. This means if we need to reload LR, it takes an extra instructions,
// which outweighs the value of the tail call; but here we don't know yet
OpenPOWER on IntegriCloud