re PR tree-optimization/35403 (ipa-reference.c does not change a default initialized...
authorAndrew Pinski <andrew_pinski@playstation.sony.com>
Tue, 11 Mar 2008 21:08:00 +0000 (21:08 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Tue, 11 Mar 2008 21:08:00 +0000 (14:08 -0700)
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

gcc/ChangeLog
gcc/ipa-reference.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ipa-reference-1.c [new file with mode: 0644]

index ccd9abee4ce8bc0fd6de08618337c92895d20742..510ccb05a323b819d7ce8bfb601b33a1d954a8a1 100644 (file)
@@ -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
index 1a962c52cdb1b1596a53cd63944265a66e490752..87d8c2fa14404516dbc38d2e0795f2742ed00433 100644 (file)
@@ -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);
   }
 
index 1fd06c444a9932fe6daced973533b74034784c6d..52a96c338226aaef8beb6fde7a2125b74f80fdbb 100644 (file)
@@ -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 (file)
index 0000000..c15a8b6
--- /dev/null
@@ -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" } } */