Add more info to FIXME.
authorJim Grosbach <grosbach@apple.com>
Fri, 8 Jul 2011 20:18:11 +0000 (20:18 +0000)
committerJim Grosbach <grosbach@apple.com>
Fri, 8 Jul 2011 20:18:11 +0000 (20:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134729 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index 8cd9aa27d77c9c18342684ad589a3c097cef96e7..d9bb3e65fa4da0a94e091408f7764115552423f8 100644 (file)
@@ -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