diff options
Diffstat (limited to 'gcc/tree-ssa-dce.c')
-rw-r--r-- | gcc/tree-ssa-dce.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index 280356c5dc6..08f20a3d2c8 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -477,7 +477,7 @@ mark_aliased_reaching_defs_necessary_1 (ao_ref *ref, tree vdef, void *data) && !stmt_can_throw_internal (def_stmt)) { tree base, lhs = gimple_get_lhs (def_stmt); - HOST_WIDE_INT size, offset, max_size; + poly_int64 size, offset, max_size; bool reverse; ao_ref_base (ref); base @@ -488,7 +488,7 @@ mark_aliased_reaching_defs_necessary_1 (ao_ref *ref, tree vdef, void *data) { /* For a must-alias check we need to be able to constrain the accesses properly. */ - if (size == max_size + if (known_eq (size, max_size) && known_subrange_p (ref->offset, ref->max_size, offset, size)) return true; /* Or they need to be exactly the same. */ |