On Mon, Dec 12, 2011 at 05:29:09PM +0100, Michael Matz wrote:
> On Mon, 12 Dec 2011, Jakub Jelinek wrote:
> > Just I wonder:
> > 1) what if a bb contains no real insns (I know, they should be optimized
> >    out, but do we assert that etc.?) - then the EXECUTE_IF_SET_IN_BITMAP
> >    loop just wouldn't be done.  Perhaps that is fine, it would make it
> >    into the bitmap at the end of the bb and perhaps following bb would
> >    do this loop.
> 
> Not only perhaps.  That is exactly what will happen.  If some of the 
> successor BBs then has real instructions _that_ one will cause creation of 
> all the necessary conflicts.

Ok.

> > 2) the PHIs are then handled always with visit_op instead of visit_conflict,
> >    I'd guess the needed add_stack_var_conflict calls would then happen
> >    in that EXECUTE_IF_SET_IN_BITMAP loop, right?
> 
> Correct.  The PHIs don't need to create the conflicts, any new mention of 
> a DECL name will be noted as active, and then creates a conflict at the 
> next real instruction (if not cancelled by a clobber before).

Ok.  So, I'm happy with your changes and rth already acked the tree-eh.c
side, so can we just get an ack on these cfgexpand.c changes?  Thanks.

The testcases can perhaps follow when they are ready (and I plan to submit
at least the one checking for no __cxa_rethrow in assembly).

        Jakub

Reply via email to