OSDN Git Service

2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Mar 2008 21:08:00 +0000 (21:08 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Mar 2008 21:08:00 +0000 (21:08 +0000)
        * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133119 138bc75d-0d04-0410-961f-82ee72b054a4

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 ccd9abe..510ccb0 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 1a962c5..87d8c2f 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 1fd06c4..52a96c3 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" } } */