2005-12-31 Andrew Pinski <pinskia@ohysics.uc.edu>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 31 Dec 2005 19:38:05 +0000 (19:38 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 31 Dec 2005 19:38:05 +0000 (19:38 +0000)
        PR tree-opt/25612
        * tree-ssa-pre.c (compute_avail): Treat the static chain decl as a
        parameter and pretend that it is defined in the entry basic block.

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

gcc/ChangeLog
gcc/tree-ssa-pre.c

index 76a237d..43098de 100644 (file)
@@ -1,3 +1,9 @@
+2005-12-31  Andrew Pinski  <pinskia@ohysics.uc.edu>
+
+       PR tree-opt/25612
+       * tree-ssa-pre.c (compute_avail): Treat the static chain decl as a
+       parameter and pretend that it is defined in the entry basic block.
+
 2005-12-30  Kazu Hirata  <kazu@codesourcery.com>
 
        * tree-outof-ssa.c (_elim_graph): Change the type of STACK to
index f0bf020..2e2fd64 100644 (file)
@@ -3086,6 +3086,19 @@ compute_avail (void)
        }
     }
 
+  /* Likewise for the static chain decl. */
+  if (cfun->static_chain_decl)
+    {
+      param = cfun->static_chain_decl;
+      if (default_def (param) != NULL)
+        {
+          tree def = default_def (param);
+          vn_lookup_or_add (def, NULL);
+          bitmap_insert_into_set (TMP_GEN (ENTRY_BLOCK_PTR), def);
+          bitmap_value_insert_into_set (AVAIL_OUT (ENTRY_BLOCK_PTR), def);
+        }
+    }
+
   /* Allocate the worklist.  */
   worklist = XNEWVEC (basic_block, n_basic_blocks);