From a91ded4bb889da5eef83123edb59203979dee491 Mon Sep 17 00:00:00 2001
From: Richard Guenther <rguenther@suse.de>
Date: Wed, 30 Apr 2008 21:42:24 +0000
Subject: [PATCH] re PR tree-optimization/32921 (Revision 126326 causes 12%
 slowdown)

2008-04-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32921
	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.

From-SVN: r134838
---
 gcc/ChangeLog          | 5 +++++
 gcc/tree-ssa-loop-im.c | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 28225695e1c6..ffd78f4e1f65 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-30  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32921
+	* tree-ssa-loop-im.c (mem_refs_may_alias_p): Disambiguate with TBAA.
+
 2008-04-30  Richard Sandiford  <rsandifo@nildram.co.uk>
 
 	* config/arm/arm.c (arm_unwind_emit): Use
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 6402a8e62443..c896abb8ba70 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -1640,6 +1640,8 @@ mem_refs_may_alias_p (tree mem1, tree mem2, struct pointer_map_t **ttae_cache)
 	  && SSA_VAR_P (mem1)
 	  && !AGGREGATE_TYPE_P (TREE_TYPE (mem1)))
 	return false;
+      if (!alias_sets_conflict_p (get_alias_set (mem1), get_alias_set (mem2)))
+	return false;
     }
 
   /* The expansion of addresses may be a bit expensive, thus we only do
-- 
GitLab