This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How to reverse patch reversal in cfgcleanup.c (Was: RFA: re-instate struct_equiv code)
Bernd Schmidt <bernds_cb1@t-online.de> writes:
> Let me ask a really stupid question. Where are we supposed to be
> clearing BB_DIRTY flags?
>
> I instrumented the old version of the struct-equiv patches to give me
> some information about the basic blocks it's being called for, and
> noticed that blocks always remain dirty, even though we're calling
> update_life_info_in_dirty_blocks. A quick grep showed no place in the
> compiler where the flag is cleared. Under these circumstances, it's
> no surprise that we keep doing global liveness updates during
> crossjumping.
The function clear_bb_flags clears the BB_DIRTY flag. It is called
from a few places, including cleanup_cfg.
Ian