diff options
author | Andrew Pinski <andrew_pinski@playstation.sony.com> | 2008-03-11 21:08:00 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2008-03-11 14:08:00 -0700 |
commit | 76a7d3ca5162b468a9d44ecbc3efcd2ecfd15f9a (patch) | |
tree | 184f4b5d37ef3817fea745c5921af82a0b54a38e | |
parent | 40cca4f97caa0a29b71ec335f1d29daf484f73de (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-reference.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c | 15 |
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" } } */ |