remaining libjava/verify_local_live_at_start failures
Jan Hubicka
jh@suse.cz
Tue Mar 26 07:34:00 GMT 2002
> > The problem is that global liveness is not recomputed after dead code removal
> > keeping it in inconsistent state.
>
> In the past this has been caused by cleanup_cfg making a change
> and returning zero (indicating that nothing changed).
> update_life_info has:
>
> for ( ; ; )
> {
>
> ...
> if (! changed || ! cleanup_cfg (CLEANUP_EXPENSIVE))
> break;
> }
>
> So as long as cleanup_cfg returns non-zero update_life_info will
> DTRT by iterating until global liveness / dead code removal converges.
It is not unreachable code removal, it is dead code removal that causes
problem. It reproduces if you remove the flag allowing CFG changes as well.
Nothing is wrong with your patch, I guess Richard Kenner's dead store removal
introduced the problem.
Honza
>
> -- John
> -------------------------------------------------------------------------
> | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
> | John Wehle | Fax: 1-215-540-5495 | |
> -------------------------------------------------------------------------
More information about the Gcc
mailing list