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

Karel Gardas karel.gardas at centrum.cz
Fri Jun 17 13:49:49 PDT 2011


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