From 8bf43909f8707a06d2ead116bc81f10e5690121e Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Wed, 25 Jan 2012 15:36:43 +0000 Subject: tree-ssa-sccvn.c (vn_reference_eq): Also compare if both bases are dereferenced. 2012-01-25 Richard Guenther * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both bases are dereferenced. From-SVN: r183522 --- gcc/tree-ssa-sccvn.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/tree-ssa-sccvn.c') diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index ca11ca1..1f03600 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -556,6 +556,7 @@ vn_reference_eq (const void *p1, const void *p2) tem1.type = TREE_TYPE (tem1.op0); tem1.opcode = TREE_CODE (tem1.op0); vro1 = &tem1; + deref1 = false; } if (deref2 && vro2->opcode == ADDR_EXPR) { @@ -564,7 +565,10 @@ vn_reference_eq (const void *p1, const void *p2) tem2.type = TREE_TYPE (tem2.op0); tem2.opcode = TREE_CODE (tem2.op0); vro2 = &tem2; + deref2 = false; } + if (deref1 != deref2) + return false; if (!vn_reference_op_eq (vro1, vro2)) return false; ++j; -- cgit v1.1