This change unnecessarily pessimizes some cases.

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Richard.

2017-05-03  Richard Biener  <rguent...@suse.de>

        Revert
        PR tree-optimization/80492
        * tree-ssa-alias.c (decl_refs_may_alias_p): Handle
        compare_base_decls returning dont-know properly.

Index: gcc/tree-ssa-alias.c
===================================================================
--- gcc/tree-ssa-alias.c        (revision 247492)
+++ gcc/tree-ssa-alias.c        (working copy)
@@ -1096,16 +1096,13 @@ decl_refs_may_alias_p (tree ref1, tree b
 {
   gcc_checking_assert (DECL_P (base1) && DECL_P (base2));
 
-  int cmp = compare_base_decls (base1, base2);
-
   /* If both references are based on different variables, they cannot alias.  
*/
-  if (cmp == 0)
+  if (compare_base_decls (base1, base2) == 0)
     return false;
 
   /* If both references are based on the same variable, they cannot alias if
      the accesses do not overlap.  */
-  if (cmp == 1
-      && !ranges_overlap_p (offset1, max_size1, offset2, max_size2))
+  if (!ranges_overlap_p (offset1, max_size1, offset2, max_size2))
     return false;
 
   /* For components with variable position, the above test isn't sufficient,

Reply via email to