From: Sebastian Pop Date: Wed, 11 Aug 2010 20:31:14 +0000 (+0000) Subject: Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant... X-Git-Tag: releases/gcc-4.6.0~5042 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=974335d63c6dc5bf22ac801edccc576f1bb2d7a2;p=thirdparty%2Fgcc.git Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF. 2010-07-28 Sebastian Pop * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF. * gfortran.dg/graphite/id-22.f: New. From-SVN: r163168 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cf92a9466300..ffd36c30e758 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-08-02 Sebastian Pop + + * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only + constant phi nodes with one argument are is_gimple_min_invariant + and SSA_NAME_IS_DEFAULT_DEF. + 2010-08-02 Andreas Simbuerger * graphite-cloog-util.c (oppose_constraint): diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index fe58ec09a93f..1d3e64d2b688 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,11 @@ +2010-07-28 Sebastian Pop + + * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only + constant phi nodes with one argument are is_gimple_min_invariant + and SSA_NAME_IS_DEFAULT_DEF. + + * gfortran.dg/graphite/id-22.f: New. + 2010-07-27 Andreas Simbuerger * graphite.c (graphite_initialize): Do not initialize diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index 44c658807c66..38e408c753b6 100644 --- a/gcc/graphite-sese-to-poly.c +++ b/gcc/graphite-sese-to-poly.c @@ -2240,10 +2240,9 @@ rewrite_close_phi_out_of_ssa (gimple_stmt_iterator *psi, sese region) gcc_assert (gimple_phi_num_args (phi) == 1); /* The phi node can be a non close phi node, when its argument is - invariant, or when it is defined in the same loop as the phi node. */ + invariant, or a default definition. */ if (is_gimple_min_invariant (arg) - || SSA_NAME_IS_DEFAULT_DEF (arg) - || gimple_bb (SSA_NAME_DEF_STMT (arg))->loop_father == bb->loop_father) + || SSA_NAME_IS_DEFAULT_DEF (arg)) { propagate_expr_outside_region (res, arg, region); gsi_next (psi); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4697e6be6249..ab450f283203 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-08-02 Sebastian Pop + + * gfortran.dg/graphite/id-22.f: New. + 2010-08-02 Sebastian Pop * gcc.dg/graphite/id-26.c: New. diff --git a/gcc/testsuite/gfortran.dg/graphite/id-22.f b/gcc/testsuite/gfortran.dg/graphite/id-22.f new file mode 100644 index 000000000000..4b943f1b58be --- /dev/null +++ b/gcc/testsuite/gfortran.dg/graphite/id-22.f @@ -0,0 +1,10 @@ +! { dg-options "-O3 -ffast-math" } + + COMMON /NONEQ / UNZOR + DO ITS = 1, NTS + DO JATOM = 1, NAT + IF(IEF.EQ.5.OR.IEF.EQ.8) + * UNZOR = UNZOR + 8 + ENDDO + ENDDO + END