aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-03-23 11:34:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-03-23 11:34:32 +0000
commit0ac168a1cd87bfefee6f8ebad245080cfe16fc1d (patch)
tree8b6ebe34884569f079b8d732cd6e253f6ca11fac /gcc/testsuite
parent6e349de504c00b9451becd66103ae96eb4b6ad56 (diff)
downloadgcc-0ac168a1cd87bfefee6f8ebad245080cfe16fc1d.zip
gcc-0ac168a1cd87bfefee6f8ebad245080cfe16fc1d.tar.gz
gcc-0ac168a1cd87bfefee6f8ebad245080cfe16fc1d.tar.bz2
re PR tree-optimization/52678 (internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842)
2012-03-23 Richard Guenther <rguenther@suse.de> PR tree-optimization/52678 * tree-vectorizer.h (struct _stmt_vec_info): Add loop_phi_evolution_part member. (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define. * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize STMT_VINFO_LOOP_PHI_EVOLUTION_PART. * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Use the cached evolution part and the PHI nodes value from the loop preheader edge instead of re-analyzing the evolution. * gfortran.dg/pr52678.f: New testcase. From-SVN: r185734
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr52678.f18
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 549cf5b..a6b6424 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2012-03-23 Richard Guenther <rguenther@suse.de>
+ PR tree-optimization/52678
+ * gfortran.dg/pr52678.f: New testcase.
+
+2012-03-23 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/52638
* g++.dg/torture/pr52638.C: New testcase.
diff --git a/gcc/testsuite/gfortran.dg/pr52678.f b/gcc/testsuite/gfortran.dg/pr52678.f
new file mode 100644
index 0000000..8d0cd47
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr52678.f
@@ -0,0 +1,18 @@
+! { dg-do compile }
+! { dg-options "-O -ftree-vectorize" }
+ SUBROUTINE OpenAD_set_ref_state(DRF, RHOFACF, RHOFACC)
+ real(8) DRF(1 : 15)
+ real(8) RHOFACF(1 : 16)
+ real(8) RHOFACC(1 : 15)
+ integer, dimension(:), allocatable :: oad_it
+ integer :: oad_it_ptr
+ INTEGER(8) OpenAD_Symbol_188
+ INTEGER(4) K
+ OpenAD_Symbol_188 = 0
+ DO K = 2, 15, 1
+ RHOFACF(INT(K)) = ((RHOFACC(K) * DRF(K + (-1)) + RHOFACC(K +
+ + (-1)) * DRF(K)) /(DRF(K) + DRF(K + (-1))))
+ OpenAD_Symbol_188 = (INT(OpenAD_Symbol_188) + INT(1))
+ END DO
+ oad_it(oad_it_ptr) = OpenAD_Symbol_188
+ end subroutine OpenAD_set_ref_state