diff options
Diffstat (limited to 'gcc/tree-data-ref.cc')
-rw-r--r-- | gcc/tree-data-ref.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-data-ref.cc b/gcc/tree-data-ref.cc index 18d9f0f..8a46e6d 100644 --- a/gcc/tree-data-ref.cc +++ b/gcc/tree-data-ref.cc @@ -2498,9 +2498,10 @@ create_waw_or_war_checks (tree *cond_expr, limit = fold_build2 (PLUS_EXPR, sizetype, limit, size_int (last_chunk_a + last_chunk_b)); - tree subject = fold_build2 (POINTER_DIFF_EXPR, ssizetype, addr_b, addr_a); - subject = fold_build2 (PLUS_EXPR, sizetype, - fold_convert (sizetype, subject), bias); + tree subject = fold_build2 (MINUS_EXPR, sizetype, + fold_convert (sizetype, addr_b), + fold_convert (sizetype, addr_a)); + subject = fold_build2 (PLUS_EXPR, sizetype, subject, bias); *cond_expr = fold_build2 (GT_EXPR, boolean_type_node, subject, limit); if (dump_enabled_p ()) |