New optimization for reload_combine

Bernd Schmidt bernds@codesourcery.com
Tue Jul 20 11:46:00 GMT 2010


On 07/19/2010 12:00 PM, Bernd Schmidt wrote:
> I've committed the following fix for the bootstrap comparison failures.
>  DEBUG_INSNs got in the way, as they do.  This also fixes a problem
> observed with sh libjava, we need to avoid moving something after an
> insn that can throw.  Another fix which I found by inspection is for the
> use_ruid bookkeeping, the interaction between the new and the old code
> could have caused problems there.

It's still producing different code for -g vs. no-debug on powerpc.  It
turns out that we only store a limited amount of uses for a reg, and
somehow the powerpc compiler produces a huge amount of debug_insns,
which fill the buffer and prevent us from doing the optimization on real
insns.

Not sure yet how to fix it, probably by not tracking DEBUG_INSNs at all
and letting them get out of date.

Do we have any data whether this whole DEBUG_INSN stuff is actually
useful?  It was still controversial when it was committed, and I've
personally not seen any improvement in trying to debug a cc1 compiled at
-O2.  Is there any evidence that it has actually made debugging easier,
or are we carrying around all this complexity for no gain?


Bernd



More information about the Gcc-patches mailing list