aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDorit Nuzman <dorit@il.ibm.com>2006-02-26 09:27:35 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2006-02-26 09:27:35 +0000
commitafa38a953b6a862b3c5cb5632981a3b2d61969c3 (patch)
tree13baee83a886968795c155cdc28c659ff84a2346 /gcc
parent2cd9a06ba8e308060821ef7f3ff2338243a51926 (diff)
downloadgcc-afa38a953b6a862b3c5cb5632981a3b2d61969c3.zip
gcc-afa38a953b6a862b3c5cb5632981a3b2d61969c3.tar.gz
gcc-afa38a953b6a862b3c5cb5632981a3b2d61969c3.tar.bz2
re PR tree-optimization/26359 (Over optimization of loop when using -ftree-vectorize)
PR tree-optimization/26359 * tree-ssa-alias.c (new_type_alias): Set fields for new tag. From-SVN: r111451
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c16
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp6
-rw-r--r--gcc/tree-ssa-alias.c3
5 files changed, 37 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 526af5d..84c278d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-26 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/26359
+ * tree-ssa-alias.c (new_type_alias): Set fields for new tag.
+
2006-02-25 Roger Sayle <roger@eyesopen.com>
* simplify-rtx.c (simplify_relational_operation_1): Simplify
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9656f4e..b75722d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2006-02-26 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimizations/26359
+ * gcc.dg/vect/vect.exp: Compile tests prefixed with "dump-tree-dceloop"
+ with -fdump-tree-dceloop-details.
+ * gcc.dg/vect/dump-tree-dceloop-pr26359.c: New test.
+
2006-02-25 Roger Sayle <roger@eyesopen.com>
PR middle-end/23673
diff --git a/gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c b/gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c
new file mode 100644
index 0000000..6ec068c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/dump-tree-dceloop-pr26359.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+int a[256], b[256], c[256];
+
+foo () {
+ int i;
+
+ for (i=0; i<256; i++){
+ a[i] = b[i] + c[i];
+ }
+}
+
+/* { dg-final { scan-tree-dump-times "Deleting : vect_" 0 "dceloop" } } */
+/* { dg-final { cleanup-tree-dump "dceloop" } } */
+/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp
index 9cf78ff..eddb5b9 100644
--- a/gcc/testsuite/gcc.dg/vect/vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/vect.exp
@@ -108,6 +108,12 @@ lappend DEFAULT_VECTCFLAGS "-ftrapv"
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/trapv-vect*.\[cS\]]] \
"" $DEFAULT_VECTCFLAGS
+# -fdump-tree-dceloop-details tests
+set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
+lappend DEFAULT_VECTCFLAGS "-fdump-tree-dceloop-details"
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/dump-tree-dceloop-*.\[cS\]]] \
+ "" $DEFAULT_VECTCFLAGS
+
# With -Os
lappend DEFAULT_VECTCFLAGS "-Os"
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/Os-vect-*.\[cS\]]] \
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index a32c843..fe69198 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -2712,6 +2712,9 @@ new_type_alias (tree ptr, tree var)
add_may_alias (tag, al);
}
}
+
+ TREE_READONLY (tag) = TREE_READONLY (var);
+ MTAG_GLOBAL (tag) = is_global_var (var);
}