On 09/10/2016 12:40 AM, Segher Boessenkool wrote:
On Fri, Sep 09, 2016 at 05:01:19PM -0600, Jeff Law wrote:
On 09/09/2016 02:41 PM, Segher Boessenkool wrote:
On Fri, Sep 09, 2016 at 12:31:31PM -0600, Jeff Law wrote:
On 06/08/2016 03:18 AM, Bernd Schmidt wrote:
On 06/08/2016 03:47 AM, Segher Boessenkool wrote:
+      /* regrename creates wrong code for exception handling, if used
together
+         with separate shrink-wrapping.  Disable for now, until we have
+     figured out what exactly is going on.  */

That needs to be figured out now or it'll be there forever.
I suspect it's related to liveness computations getting out-of-wack with
separate shrink wrapping.  If that's the case, then the question in my
mind is how painful is this going to be to fix in the df scanning code.

I haven't been able to pin-point the failure.  It happens for just a few
huge testcases.  So I am hoping someone who understands regrename will
figure it out.
I think that's likely going to fall onto you :-)  We don't generally
allow passes to just get disabled because some other pass causes them to
generate the wrong code.

We can instead declare that anyone enabling regrename is on his own?
I like that plan better.
No.  I won't ack that.  It seems totally backwards.


I can also make the compiler error out if you try to have both separate
shrink-wrapping and regrename on at the same time.

There are no happy answers :-(
The answer is to debug the problem, and yes it may be painful. I'd probably start by fixing the dataflow issues and see if that fixes the regrename thing as a side effect.


Though I'm curious how you triggered this -- regrename isn't enabled by
default (except for that brief window earlier this year...).

Yes, these patches are that old now already.  I also enabled regrename
by default for quite a while, for testing purposes, since at the time
it looked like regrename would be on by default for most architectures.
Separate shrink-wrapping is supposed to be useful for all ports, not
just for Power.
I think enabling regrename by default is the right thing to do long term.

jeff

Reply via email to