diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2019-11-14 07:03:30 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2019-11-14 07:03:30 +0000 |
commit | 6ee86466ad973510f4a8e13cf356acf919b9fa20 (patch) | |
tree | 947226c138b6c939062716fbc0cb6bba4ed69bf1 /gcc/tree-vrp.c | |
parent | 9773f69c1161677e68f693562da82c92fd3821da (diff) |
Make normalize_addresses and normalize_symbolics work on THIS, instead
of returning by value.
From-SVN: r278196
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index c47c65bd294..ff66bed4b03 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -1182,8 +1182,10 @@ range_fold_binary_symbolics_p (value_range *vr, return true; } const range_operator *op = get_range_op_handler (vr, code, expr_type); - op->fold_range (*vr, expr_type, vr0->normalize_symbolics (), - vr1->normalize_symbolics ()); + value_range vr0_cst (*vr0), vr1_cst (*vr1); + vr0_cst.normalize_symbolics (); + vr1_cst.normalize_symbolics (); + op->fold_range (*vr, expr_type, vr0_cst, vr1_cst); return true; } return false; @@ -1217,8 +1219,9 @@ range_fold_unary_symbolics_p (value_range *vr, return true; } const range_operator *op = get_range_op_handler (vr, code, expr_type); - op->fold_range (*vr, expr_type, vr0->normalize_symbolics (), - value_range (expr_type)); + value_range vr0_cst (*vr0); + vr0_cst.normalize_symbolics (); + op->fold_range (*vr, expr_type, vr0_cst, value_range (expr_type)); return true; } return false; @@ -1245,8 +1248,9 @@ range_fold_binary_expr (value_range *vr, if (range_fold_binary_symbolics_p (vr, code, expr_type, &vr0, &vr1)) return; - op->fold_range (*vr, expr_type, vr0.normalize_addresses (), - vr1.normalize_addresses ()); + vr0.normalize_addresses (); + vr1.normalize_addresses (); + op->fold_range (*vr, expr_type, vr0, vr1); } /* Perform a unary operation on a range. */ @@ -1267,8 +1271,9 @@ range_fold_unary_expr (value_range *vr, if (range_fold_unary_symbolics_p (vr, code, expr_type, vr0)) return; - op->fold_range (*vr, expr_type, vr0->normalize_addresses (), - value_range (expr_type)); + value_range vr0_cst (*vr0); + vr0_cst.normalize_addresses (); + op->fold_range (*vr, expr_type, vr0_cst, value_range (expr_type)); } /* Given a COND_EXPR COND of the form 'V OP W', and an SSA name V, |