From 6ee86466ad973510f4a8e13cf356acf919b9fa20 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Thu, 14 Nov 2019 07:03:30 +0000 Subject: Make normalize_addresses and normalize_symbolics work on THIS, instead of returning by value. From-SVN: r278196 --- gcc/tree-vrp.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'gcc/tree-vrp.c') 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, -- cgit v1.2.3