[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 11:07:12 PST 2008


On Feb 6, 2008, at 10:48 AM, Chris Lattner wrote:

>>>> 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.
>
> Why not?

Everywhere else we use ParamAttrs they're on the node where you need  
them.  We could make the actual parameters get them from the callee  
prototype too, but we don't do that, we put the attributes right on  
the actual parameters.




More information about the llvm-commits mailing list