remaining libjava/verify_local_live_at_start failures

John Wehle
Mon Mar 25 15:06:00 GMT 2002

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

Are you saying the calculate_global_regs_live is returning
the wrong answer for (PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE)?

-- John
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email:  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |

More information about the Gcc mailing list