diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-10-04 15:36:24 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-10-04 15:36:24 +0200 |
commit | 31330e16d502ac34453ff3d694d33c3c469af890 (patch) | |
tree | 7be6b9bfc5b2d537a6ada3b89f675284d792fe68 /gcc/tree-ssa-alias.c | |
parent | f548a3173e47b45bf132c533091c8776ca79b629 (diff) | |
download | gcc-31330e16d502ac34453ff3d694d33c3c469af890.zip gcc-31330e16d502ac34453ff3d694d33c3c469af890.tar.gz gcc-31330e16d502ac34453ff3d694d33c3c469af890.tar.bz2 |
re PR tree-optimization/50522 (C++ std::valarray vectorization missed optimization)
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.
From-SVN: r179502
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 82307de..a890944 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -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 |