[LLVMdev] ARM support status (GHC/ARM new calling convention)

Cameron Zwarich zwarich at apple.com
Fri Jun 17 13:57:17 PDT 2011


I don't know if GuaranteedTailCallOpt is in anyone's plans. It might be a good idea to implement some time. I am not sure what GHC's exact needs are, though.

Cameron

On Jun 17, 2011, at 1:49 PM, Karel Gardas wrote:

> 
> Hello Cameron,
> 
> thanks a lot for your fast answer, which just makes me curious if making ARM tailcalls on par with x86 in the future is on some of the development plans already? If not, then what do you think is the complexity of such work?
> 
> Thanks!
> Karel
> 
> On 06/17/11 10:41 PM, Cameron Zwarich wrote:
>> They work pretty well now, at least on Thumb2 / Darwin. It is still fairly conservative about when to use tail calls, and doesn't support GuaranteedTailCallOpt, which might be necessary for GHC.
>> 
>> Cameron
>> 
>> On Jun 17, 2011, at 1:31 PM, Karel Gardas wrote:
>> 
>>> 
>>> John,
>>> 
>>> I've moved with patches to HEAD and unfortunately the comments about
>>> disabling tailcalls do not go away with this update. Please see
>>> ARMTargetLowering::LowerCall in lib/Target/ARM/ARMISelLowering.cpp line
>>> 1208 and later. It looks like man can use -arm-tail-calls, but one never
>>> knows how good it is since the comment tells it clearly:
>>> 
>>> // Temporarily disable tail calls so things don't break.
>>> 
>>> so I would like to ask what's the status of tailcalls in LLVM on ARM
>>> platform?
>>> 
>>> Thanks a lot!
>>> Karel
>>> 
>>> On 06/16/11 11:00 PM, John McCall wrote:
>>>>> Also in the llvm::ARMTargetLowering::LowerCall I see a comment
>>>>> about disabling tailcalls just to not break things.
>>>> 
>>>> I believe this has been changed on ToT, so since Haskell is
>>>> presumably completely dependent on tail calls working, you'll need to
>>>> work there.
>>> 
>>> 
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> 
>> 
> 




More information about the llvm-dev mailing list