remaining libjava/verify_local_live_at_start failures

John Wehle john@feith.com
Mon Mar 25 16:55: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.

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