From: Richard Biener Date: Tue, 8 Apr 2014 10:59:40 +0000 (+0000) Subject: re PR tree-optimization/60785 (ICE in gsi_for_stmt w/ -O2 -ftree-loop-linear) X-Git-Tag: basepoints/gcc-5~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9038ae48b816983065d8705f38b35144fdc4ddd7;p=thirdparty%2Fgcc.git re PR tree-optimization/60785 (ICE in gsi_for_stmt w/ -O2 -ftree-loop-linear) 2014-04-08 Richard Biener PR tree-optimization/60785 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat default defs properly. * gcc.dg/graphite/pr60785.c: New testcase. From-SVN: r209214 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec85f097c154..0e0267a845d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-04-08 Richard Biener + + PR tree-optimization/60785 + * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat + default defs properly. + 2014-04-08 Nathan Sidwell * doc/invoke (Wnon-virtual-dtor): Update to match implementation. diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index d4a1bb2df9a5..28447e4b6fe8 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -2250,6 +2250,7 @@ rewrite_phi_out_of_ssa (scop_p scop, gimple_stmt_iterator *psi) /* Avoid the insertion of code in the loop latch to please the pattern matching of the vectorizer. */ if (TREE_CODE (arg) == SSA_NAME + && !SSA_NAME_IS_DEFAULT_DEF (arg) && e->src == bb->loop_father->latch) insert_out_of_ssa_copy (scop, zero_dim_array, arg, SSA_NAME_DEF_STMT (arg)); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 526686b87f24..bfc27226e98c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-04-08 Richard Biener + + PR tree-optimization/60785 + * gcc.dg/graphite/pr60785.c: New testcase. + 2014-04-08 Rainer Orth PR target/60602 diff --git a/gcc/testsuite/gcc.dg/graphite/pr60785.c b/gcc/testsuite/gcc.dg/graphite/pr60785.c new file mode 100644 index 000000000000..87c1c685b0a1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr60785.c @@ -0,0 +1,27 @@ +/* { dg-options "-O2 -floop-interchange" } */ + +static int +aqc(void) +{ + return 1; +} + +void +gkd(void) +{ + int wu0; + static int b1y; + static int gw2; + static int *ydw = &gw2; + static int **m3l = &ydw; + **m3l = 0; + for (b1y = 0; b1y < 1; ++b1y) + { + int *cpj = &gw2; + if (*ydw |= aqc()) + { + *cpj = 0; + *ydw = wu0; + } + } +}