This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]: Fix PR tree-optimization/21407

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

That does indeed sound like the right thing to do.


Mark Mitchell
CodeSourcery, LLC
(916) 791-8304

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]