[llvm-commits] [llvm] r45850 - /llvm/trunk/lib/VMCore/Verifier.cpp

Chris Lattner clattner at apple.com
Tue Jan 15 14:48:12 PST 2008


On Jan 13, 2008, at 12:18 AM, Duncan Sands wrote:

>>> there are some issues that need to be fixed:
>>> (1) the asm parser drops parameter attributes specified on the  
>>> varargs
>>> part of a call/invoke;
>>> (2) when the DAE pass drops varargs call arguments, the parameter
>>> attributes need to be trimmed, since otherwise you can have  
>>> attributes
>>> that don't correspond to a call argument any more;
>>> (3) when instcombine resolves calls to a bitcast of a function into
>>> a direct call, then parameter attributes will be lost on any varargs
>>> part of a call.
>
> These are all done.
>
>> One more. When llvm-extract remove a function with byval parameters,
>> it also drops the attribute.
>
> I don't know what llvm-extract is, so how about I leave that to you :)

I'll let evan deal with this one too :)

> There is one more problem place: ArgumentPromotion.  After rewriting a
> function, it rewrites all calls to the function, but doesn't adjust  
> their
> parameter attributes.

ArgPromotion does do this, and I added a testcase to verify it.  It  
looks like it recomputes the Function's param attrs perfectly and just  
applies that attr list to all calls.

-Chris



More information about the llvm-commits mailing list