OSDN Git Service

PR tree-optimization/50522
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Oct 2011 13:36:24 +0000 (13:36 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Oct 2011 13:36:24 +0000 (13:36 +0000)
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
TYPE_RESTRICT.
(ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
unconditionally.

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

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

index 3b973a0..b611321 100644 (file)
@@ -1,5 +1,11 @@
 2011-10-04  Jakub Jelinek  <jakub@redhat.com>
 
+       PR tree-optimization/50522
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
+       TYPE_RESTRICT.
+       (ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
+       unconditionally.
+
        * fold-const.c (fold_unary_loc): Don't optimize
        POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
        casting the inner pointer if it isn't TYPE_RESTRICT.
index 82307de..a890944 100644 (file)
@@ -223,7 +223,6 @@ ptr_deref_may_alias_decl_p (tree ptr, tree decl)
      pointer and that pointers points-to set doesn't contain this decl
      then they can't alias.  */
   if (DECL_RESTRICTED_P (decl)
-      && TYPE_RESTRICT (TREE_TYPE (ptr))
       && pi->pt.vars_contains_restrict)
     return bitmap_bit_p (pi->pt.vars, DECL_PT_UID (decl));
 
@@ -319,9 +318,7 @@ ptr_derefs_may_alias_p (tree ptr1, tree ptr2)
 
   /* If both pointers are restrict-qualified try to disambiguate
      with restrict information.  */
-  if (TYPE_RESTRICT (TREE_TYPE (ptr1))
-      && TYPE_RESTRICT (TREE_TYPE (ptr2))
-      && !pt_solutions_same_restrict_base (&pi1->pt, &pi2->pt))
+  if (!pt_solutions_same_restrict_base (&pi1->pt, &pi2->pt))
     return false;
 
   /* ???  This does not use TBAA to prune decls from the intersection