This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: remaining libjava/verify_local_live_at_start failures


> > 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  |                         |
> -------------------------------------------------------------------------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]