aboutsummaryrefslogtreecommitdiff
path: root/gcc/ddg.c
diff options
context:
space:
mode:
authorBingfeng Mei <bmei@broadcom.com>2009-01-21 11:39:19 +0000
committerRevital Eres <revitale@gcc.gnu.org>2009-01-21 11:39:19 +0000
commit71a6fe66e7292912deda846c123134d2c43d43e1 (patch)
tree9f0d4349fb3beba6fbbe170f65b83dc48644a965 /gcc/ddg.c
parent954a782e53528ecd7cf7dac4f68506ab74d629c2 (diff)
downloadgcc-71a6fe66e7292912deda846c123134d2c43d43e1.zip
gcc-71a6fe66e7292912deda846c123134d2c43d43e1.tar.gz
gcc-71a6fe66e7292912deda846c123134d2c43d43e1.tar.bz2
check alias sets in add_inter_loop_mem_dep
From-SVN: r143540
Diffstat (limited to 'gcc/ddg.c')
-rw-r--r--gcc/ddg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ddg.c b/gcc/ddg.c
index 6ae2ae2..a0eaaea 100644
--- a/gcc/ddg.c
+++ b/gcc/ddg.c
@@ -345,6 +345,10 @@ build_inter_loop_deps (ddg_ptr g)
static void
add_inter_loop_mem_dep (ddg_ptr g, ddg_node_ptr from, ddg_node_ptr to)
{
+ if (!insn_alias_sets_conflict_p (from->insn, to->insn))
+ /* Do not create edge if memory references have disjoint alias sets. */
+ return;
+
if (mem_write_insn_p (from->insn))
{
if (mem_read_insn_p (to->insn))