aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2020-11-21 21:34:02 +0100
committerJan Hubicka <jh@suse.cz>2020-11-21 21:34:02 +0100
commitddaad23e2f49a91ab59f87f31b01e57439a3d6df (patch)
tree25d3276f54637f30638cc8c40bbbaf02e50817d1 /gcc/tree-ssa-alias.c
parentcaf17f3afa83623c0f538f6c91c7699c4fdd5674 (diff)
downloadgcc-ddaad23e2f49a91ab59f87f31b01e57439a3d6df.zip
gcc-ddaad23e2f49a91ab59f87f31b01e57439a3d6df.tar.gz
gcc-ddaad23e2f49a91ab59f87f31b01e57439a3d6df.tar.bz2
Use OEP_MATCH_SIDE_EFFECTS in compare_ao_refs
* tree-ssa-alias.c (ao_compare::compare_ao_refs, ao_compare::hash_ao_ref): Use OEP_MATCH_SIDE_EFFECTS.
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r--gcc/tree-ssa-alias.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 5ebbb08..311ce66 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -3985,11 +3985,12 @@ ao_compare::compare_ao_refs (ao_ref *ref1, ao_ref *ref2,
return SEMANTICS;
/* Now we can compare the address of actual memory access. */
- if (!operand_equal_p (r1, r2, OEP_ADDRESS_OF))
+ if (!operand_equal_p (r1, r2, OEP_ADDRESS_OF | OEP_MATCH_SIDE_EFFECTS))
return SEMANTICS;
}
/* For constant accesses we get more matches by comparing offset only. */
- else if (!operand_equal_p (base1, base2, OEP_ADDRESS_OF))
+ else if (!operand_equal_p (base1, base2,
+ OEP_ADDRESS_OF | OEP_MATCH_SIDE_EFFECTS))
return SEMANTICS;
/* We can't simply use get_object_alignment_1 on the full
@@ -4197,11 +4198,11 @@ ao_compare::hash_ao_ref (ao_ref *ref, bool lto_streaming_safe, bool tbaa,
r = TREE_OPERAND (r, 0);
}
hash_operand (TYPE_SIZE (TREE_TYPE (ref->ref)), hstate, 0);
- hash_operand (r, hstate, OEP_ADDRESS_OF);
+ hash_operand (r, hstate, OEP_ADDRESS_OF | OEP_MATCH_SIDE_EFFECTS);
}
else
{
- hash_operand (tbase, hstate, OEP_ADDRESS_OF);
+ hash_operand (tbase, hstate, OEP_ADDRESS_OF | OEP_MATCH_SIDE_EFFECTS);
hstate.add_poly_int (ref->offset);
hstate.add_poly_int (ref->size);
hstate.add_poly_int (ref->max_size);