This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: remaining libjava/verify_local_live_at_start failures
- From: Jan Hubicka <jh at suse dot cz>
- To: John Wehle <john at feith dot com>
- Cc: jh at suse dot cz, hp at bitrange dot com, gcc at gcc dot gnu dot org
- Date: Tue, 26 Mar 2002 15:18:02 +0100
- Subject: Re: remaining libjava/verify_local_live_at_start failures
- References: <200203252158.g2PLwRS09179@jwlab.FEITH.COM>
> > The problem is that global liveness is not recomputed after dead code removal
> > keeping it in inconsistent state. Fixed by iterating until stabilizes:
> >
> > OK for branch/mainline?
> >
> > Mon Mar 25 11:48:34 CET 2002 Jan Hubicka <jh@suse.cz>
> > * flow.c (update_life_info): Iterate dead code removal until it stabilizes.
>
> I'm a little confused as to why this patch is necessary.
> calculate_global_regs_live already iterates until global liveness
> stablizes and it takes into consideration dead code removal (assuming
> no CFG changes) if PROP_SCAN_DEAD_CODE is set. update_life_info
> was modified to iterate in order to handle PROP_ALLOW_CFG_CHANGES
> simply because calculate_global_regs_live couldn't easily determine
> all the dead code when CFG changes are allowed.
The scenario is situation where dead code removal happent, but there
were no changes in CFG causing the loop to terminate early.
>
> Are you saying the calculate_global_regs_live is returning
> the wrong answer for (PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE)?
No, the answer is valid, but the killing of dead code invalidates it.
Uhm, perhaps I see what is nasty. In case calculate_global_regs_live is
able to recognize deadness of register set and do not mark live it's arguments
assuming that the set will be killed later this works.
The testcase I had in my hands killed dead memory store that goes using
different channels. Perhaps only the dead memory store removal code is broken
and needs reitration (or modification of claculate_global_*)
I will double check tommorow morning..
Honza
>
> -- John
> -------------------------------------------------------------------------
> | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
> | John Wehle | Fax: 1-215-540-5495 | |
> -------------------------------------------------------------------------