[llvm-commits] [llvm] r46764 - in /llvm/trunk: include/llvm/CallingConv.h lib/Target/X86/X86CallingConv.td lib/Target/X86/X86ISelLowering.cpp
Dale Johannesen
dalej at apple.com
Wed Feb 6 10:36:24 PST 2008
On Feb 6, 2008, at 10:25 AM, Chris Lattner wrote:
>>>>
>>>> Ah, that's a good idea. Why not do that? :) Generally, putting
>>>> the
>>>> attribute on argument "#0" means that the attribute applies to the
>>>> function or the return value. Given that 'inreg' doesn't make any
>>>> sense for a function, it would be fine to overload it for this,
>>>> what
>>>> do you think?
>>>
>>> Sound good if it's that simple. It looked more complicated, but I
>>> was probably missing something. I'll look again.
>>
>> Attaching this to the Function node went smoothly enough, but I
>> actually need it on the Return node, which it appears isn't
>> supported in the current IR, but is in the the machine-level RET
>> node. I could transfer the info from the Function node to the RET
>> node at some point, or even reference the Function node from the
>> code that handles RET I suppose, but it seems cleaner to change the
>> IR; which would break binary compatibility. Considering that this
>> works as is and is not all that important to begin with, I'm
>> thinking it's best to wait until we can change the IR and do it
>> right. Thoughts?
>
> From the current SelectionDAG you can get a pointer to the Function
> object, which should have the attribute. Lowering for an ISD::RET
> can thus getting it from following this chain,
I know, I just don't think that's the right way to do it.
More information about the llvm-commits
mailing list