Potential fix for rdar://4658012

Jason Merrill jason@redhat.com
Sun Sep 10 00:27:00 GMT 2006


Richard Kenner wrote:
>> To help address your concerns about fixing the regression closest to its
>> point of change, I've also been looking into how this was handled in
>> 3.4.  In that version of the compiler, a TARGET_EXPR was surviving all
>> the way until the expander, where the function expand_expr_real was
>> recognizing TARGET_EXPRs and generating a reusable temp.  Unfortunately,
>> I don't see an obvious correlation in 4.x, as the TARGET_EXPR never
>> reaches the expander, since gimplification has already converted it into
>> a CALL_EXPR.
> 
> So what you're basically saying is that it's the act of gimplification which
> is adding the extra storage requirement?

Gimplification moves most temporaries into the tree structure, and 
tree-ssa currently doesn't really try to manage the lifetime of 
temporaries that live in the stack (bug 16269).

Jason



More information about the Gcc-patches mailing list