This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix PR43464: update loop closed SSA form once copy prop is done
- From: Michael Matz <matz at suse dot de>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: Richard Guenther <rguenther at suse dot de>, Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>, Kenneth dot Zadeck at naturalbridge dot com, stevenb dot gcc at gmail dot com, gcc-patches at gcc dot gnu dot org
- Date: Thu, 1 Apr 2010 13:28:27 +0200 (CEST)
- Subject: Re: [patch] Fix PR43464: update loop closed SSA form once copy prop is done
- References: <571f6b511003231519y368f13c4xe611d9c0b6395707@mail.gmail.com> <alpine.LNX.2.00.1003261048500.5522@zhemvz.fhfr.qr> <cb9d34b21003290926k7f14b0beyfbabe0bed5c2e015@mail.gmail.com> <alpine.LNX.2.00.1003301127230.5522@zhemvz.fhfr.qr> <20100330103901.GA17334@kam.mff.cuni.cz> <alpine.LNX.2.00.1003301317070.5522@zhemvz.fhfr.qr> <20100330114904.GA21070@kam.mff.cuni.cz> <alpine.LNX.2.00.1003301527220.5522@zhemvz.fhfr.qr> <Pine.LNX.4.64.1003311420240.18785@wotan.suse.de> <t2ycb9d34b21003311148id4e52334kc6c1684978a4340@mail.gmail.com> <m2xcb9d34b21003311206uf99a9cfcwca26426b615381b0@mail.gmail.com>
Hi,
On Wed, 31 Mar 2010, Sebastian Pop wrote:
> On Wed, Mar 31, 2010 at 12:48, Sebastian Pop <sebpop@gmail.com> wrote:
> > On Wed, Mar 31, 2010 at 06:28, Michael Matz <matz@suse.de> wrote:
> >> At least graphite-sese-to-poly.c, lambda-code.c and possibly
> >> tree-ssa-pre.c would need something similar.
> >
> > Yes, this is the case. ÂI will prepare similar patches for these passes.
>
> The attached patch fixes the problem in graphite-sese-to-poly.c
> I will commit this patch in the Graphite branch for further testing.
>
> Michael, do you see other places in graphite-sese-to-poly.c that
> may still have similar problems?
No, that's the one I meant. 1) Are you sure BB->loop structure is current
when that function is called, so that loop_exit_edge_p works? 2) Isn't it
the case at least that _all_ incoming edges of such nodes must be
loop exit edges? Then the predicate at least can remain O(1) instead of
O(N).
Ciao,
Michael.