aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <andrew_pinski@playstation.sony.com>2008-03-11 21:08:00 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2008-03-11 14:08:00 -0700
commit76a7d3ca5162b468a9d44ecbc3efcd2ecfd15f9a (patch)
tree184f4b5d37ef3817fea745c5921af82a0b54a38e
parent40cca4f97caa0a29b71ec335f1d29daf484f73de (diff)
downloadgcc-76a7d3ca5162b468a9d44ecbc3efcd2ecfd15f9a.zip
gcc-76a7d3ca5162b468a9d44ecbc3efcd2ecfd15f9a.tar.gz
gcc-76a7d3ca5162b468a9d44ecbc3efcd2ecfd15f9a.tar.bz2
re PR tree-optimization/35403 (ipa-reference.c does not change a default initialized static variable to be readonly)
2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com> * ipa-reference.c (static_execute): Remove module_statics_const and associated setting code. 2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/35403 * gcc.dg/tree-ssa/ipa-reference-1.c: New testcase. From-SVN: r133119
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-reference.c10
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c15
4 files changed, 25 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ccd9abe..510ccb0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * ipa-reference.c (static_execute): Remove module_statics_const and
+ associated setting code.
+
2008-03-11 Uros Bizjak <ubizjak@gmail.com>
PR target/35540
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index 1a962c5..87d8c2fa 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -949,7 +949,6 @@ static_execute (void)
unsigned int index;
bitmap_iterator bi;
bitmap module_statics_readonly = BITMAP_ALLOC (&ipa_obstack);
- bitmap module_statics_const = BITMAP_ALLOC (&ipa_obstack);
bitmap bm_temp = BITMAP_ALLOC (&ipa_obstack);
EXECUTE_IF_SET_IN_BITMAP (module_statics_escape, 0, index, bi)
@@ -999,14 +998,6 @@ static_execute (void)
fprintf (dump_file, "read-only var %s\n",
get_static_name (index));
}
- if (DECL_INITIAL (var)
- && is_gimple_min_invariant (DECL_INITIAL (var)))
- {
- bitmap_set_bit (module_statics_const, index);
- if (dump_file)
- fprintf (dump_file, "read-only constant %s\n",
- get_static_name (index));
- }
}
BITMAP_FREE(module_statics_escape);
@@ -1036,7 +1027,6 @@ static_execute (void)
}
BITMAP_FREE(module_statics_readonly);
- BITMAP_FREE(module_statics_const);
BITMAP_FREE(bm_temp);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1fd06c4..52a96c3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/35403
+ * gcc.dg/tree-ssa/ipa-reference-1.c: New testcase.
+
2008-03-11 Uros Bizjak <ubizjak@gmail.com>
PR target/35540
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c b/gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c
new file mode 100644
index 0000000..c15a8b6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+static int conststaticvariable;
+
+int f(void)
+{
+ return conststaticvariable;
+}
+
+/* There should be no reference to conststaticvariable as we should have
+ inlined the 0 as IPA reference should have marked the variable as a const
+ as it is not set in the IR. */
+/* { dg-final { scan-tree-dump-times "conststaticvariable" 0 "optimized"} } */
+/* { dg-final { cleanup-tree-dump "optimized" } } */