This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA:] Fix g77.f-torture/compile/970915-0.f, -Os verify_local_live_at_startMMIX
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 16 Apr 2002 16:53:23 -0400 (EDT)
- Subject: Re: [RFA:] Fix g77.f-torture/compile/970915-0.f, -Os verify_local_live_at_startMMIX
Thanks for the review; I consistently forget to say that.
On Tue, 16 Apr 2002, Richard Henderson wrote:
> That is,
>
> update_life_info (NULL, UPDATE_LIFE_GLOBAL,
> PROP_SCAN_DEAD_CODE
> | PROP_KILL_DEAD_CODE
> | PROP_ALLOW_CFG_CHANGES);
>
> immediately followed by
>
> update_life_info (NULL, UPDATE_LIFE_LOCAL, 0);
>
> must *never* fail the verify_local_live_at_start test.
IIRC that's not what we had in this case; the latter local call
removed dead code too.
In the case at hand, there was a dead store (of an uninitialized
pseudo). The only insn that used that pseudo was the dead store
that wasn't removed due to capping. So G_L_A_S was correct at
that time. On a later *local* revisit, the other dead stores
were gone, so the remaining dead store fit the list and was
discovered. Removing it also caused the pseudo to be removed
from G_L_A_S.
This in rapidly vanishing recollection. I'll revisit the second
inconsistency-causing update_life_info call to see what comes
out.
brgds, H-P