This is the mail archive of the 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:
> >
> 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.


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