[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