remaining libjava/verify_local_live_at_start failures

Jan Hubicka jh@suse.cz
Wed Mar 27 06:06:00 GMT 2002


> On Tue, Mar 26, 2002 at 03:18:02PM +0100, Jan Hubicka wrote:
> > 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_*)
> 
> If *anything* within a single basic block gets different answers
> when run multiple times, something is wrong.

Erm, what exactly you do mean?  It gets different answers, because the
basic block has changed - the dead memory stores has been elliminated.
BTW why the dead store removal is integrated in register liveness analysis?
Should not this be better written as separate pass?
It is quite expensive too.  My profiling shows that cfg branch, that does
more updating then mainline has few top function calls comming from
this hunk of code.

Honza
> 
> 
> r~



More information about the Gcc mailing list