aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr41728.c12
-rw-r--r--gcc/tree-ssa-dom.c1
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3377560..79cd10f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2009-10-16 Richard Guenther <rguenther@suse.de>
+ PR tree-optimization/41728
+ * tree-ssa-dom.c (optimize_stmt): Mark the stmt modified
+ if fold_stmt did anything.
+
+2009-10-16 Richard Guenther <rguenther@suse.de>
+
PR lto/41715
* lto-streamer-in.c (lto_input_tree_ref): Revert last change.
(maybe_fixup_handled_component): New function.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 08f34e5..0f3e6a3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2009-10-16 Richard Guenther <rguenther@suse.de>
+ PR tree-optimization/41728
+ * gcc.c-torture/compile/pr41728.c: New testcase.
+
+2009-10-16 Richard Guenther <rguenther@suse.de>
+
PR lto/41598
* gcc.dg/lto/20091016-1_0.c: New testcase.
* gcc.dg/lto/20091016-1_1.c: Likewise.
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr41728.c b/gcc/testsuite/gcc.c-torture/compile/pr41728.c
new file mode 100644
index 0000000..df379d9
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr41728.c
@@ -0,0 +1,12 @@
+int a[8];
+int s244(void)
+{
+ int lrc, j;
+ lrc = 0;
+ for (j=0; j<7; j++)
+ if(a[j] != a[j+1])
+ lrc = 1;
+ if (lrc != 0)
+ return 0;
+ return 1;
+}
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index 1e2c8f2..6e861b1 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -2099,6 +2099,7 @@ optimize_stmt (basic_block bb, gimple_stmt_iterator si)
if (fold_stmt (&si))
{
stmt = gsi_stmt (si);
+ gimple_set_modified (stmt, true);
if (dump_file && (dump_flags & TDF_DETAILS))
{