[PATCH]: Fix PR tree-optimization/21407
Mark Mitchell
mark@codesourcery.com
Fri May 13 06:31:00 GMT 2005
Daniel Berlin wrote:
> On Tue, 2005-05-10 at 15:10 -0700, Mark Mitchell wrote:
>
>>Daniel Berlin wrote:
>>
>>>>It would seem rather dangerous to me to implement this optimization.
>>>>
>>>
>>>
>>>Again, it's been implemented and turned on for a couple months now, it's
>>>not a proposal. :)
>>
>>Good point.
>>
>>
>>>However, here is a patch to fully disable it and leave a note in it's
>>>place for people who think of the same idea in the future.
>>>
>>>I've added 21407 testcase to g++.dg/tree-ssa
>>
>>>Bootstrapped and regtested on i686-pc-linux-gnu
>>>okay for mainline?
>>
>>Kenny and I had a long conversation today, and we think we have a
>>proposal that will satisfy both of us -- though we can't be sure about
>>Geoff, et. al. The current state is that I transcribed the proposal,
>>sent it to Kenny, and am waiting for him to confirm that it matches his
>>understanding of what we think we agreed upon. If it does, we'll post
>>it soon. Since it would leave these bits in, I think we should hold off
>>on your patch for the moment.
>
>
> Even if you were to do something like move the behavior into an optional
> attribute, that patch would have to be applied, and the code removed,
> because call clobbering doesn't currently work in a way where you can
> easily say "for this call, don't clobber those variables".
OK, go ahead and apply your patch, then.
> 3. Move the code/rework call clobbering so that it does it in the
> "standard" way (IE some real intraprocedural/interprocedural escape
> analysis or mod/ref instead of "is our address taken anywhere in the
> function that could matter"
>
> This is actually one of the reasons i'm anxious to do some stuff on
> interprocedural call clobbering: So we can decide what to clobber on a
> per-callsite basis without affecting anything else and without all this
> crap.
That does indeed sound like the right thing to do.
Thanks!
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304
More information about the Gcc-patches
mailing list