This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Path ping


On Tue, 30 Jun 2009, Richard Guenther wrote:

> On Tue, 30 Jun 2009, Jan Hubicka wrote:
> 
> > Hi,
> > I would like to ping:
> > http://gcc.gnu.org/ml/gcc-patches/2009-04/msg02077.html
> 
> Hm, do you really need the virtual PHI handling here:
> 
> !   /* Since we don't track liveness of virtual PHI nodes, it is possible 
> that we
> !      rendered some PHI nodes unreachable while they are still in use.
> !      Mark them for renaming.  */
> !   if (cfg_altered)
> !     {
> !       basic_block next_bb;
> 
> ?
> 
> In fact I fail to see why if then only PHIs are necessary
> to be dealt with here...
> 
> In fact, remove_bb is careful to remove stmts via release_defs / 
> gsi_remove (but it doesn't call unlink_stmt_vdefs which it probably
> should and this might fix it...?).
> 
> Anyway, the patch looks good apart from that virtual PHI business.
> Can you update it to current trunk and try adding
> 
>   if (gimple_vdef (stmt))
>     unlink_stmt_vdef (stmt);
> 
> in tree-cfg.c:remove_bb (before the release_defs call, inside the
> gimple_in_ssa_p conditional).
> 
> And remove all the virtual PHI handling from the patch?

Ok, I see how it is needed now.  I can even get testsuite ICEs with
the edge forwarding case removed.  But - it seems to just work fine
with the case quoted above removed.  Can you please add a testcase
for that case?

The patch is ok with either the case removed or with a testcase
that shows the case is required.

Thanks,
Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]