From 076ba1571553e691d508469376da0e6fbe32b6ee Mon Sep 17 00:00:00 2001
From: Richard Guenther <rguenther@suse.de>
Date: Fri, 16 Oct 2009 16:57:31 +0000
Subject: [PATCH] re PR tree-optimization/41728 (error: SSA name in freelist
 but still referenced)

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.

	* gcc.c-torture/compile/pr41728.c: New testcase.

From-SVN: r152910
---
 gcc/ChangeLog                                 |  6 ++++++
 gcc/testsuite/ChangeLog                       |  5 +++++
 gcc/testsuite/gcc.c-torture/compile/pr41728.c | 12 ++++++++++++
 gcc/tree-ssa-dom.c                            |  1 +
 4 files changed, 24 insertions(+)
 create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr41728.c

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3377560960aa..79cd10f3ba01 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 08f34e5c24f3..0f3e6a3b74a6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+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
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 000000000000..df379d930108
--- /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 1e2c8f23ce81..6e861b15e4cf 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))
 	    {
-- 
GitLab