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