From d48f6f3f2d1f8b62b538939f82740f463a193b8b Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 4 Dec 2017 09:10:49 -0700 Subject: [PATCH] * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::extract_range_from_stmt): Always use vr_values::update_value_range so preexisting range info is medged with new range info, even if the new range is VR_VARYING. From-SVN: r255386 --- gcc/ChangeLog | 7 +++++++ gcc/gimple-ssa-evrp-analyze.c | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b072b4ceec..e6523a3f165 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-12-04 Jeff Law + + * gimple-ssa-evrp-analyze.c + (evrp_range_analyzer::extract_range_from_stmt): Always use + vr_values::update_value_range so preexisting range info is + medged with new range info, even if the new range is VR_VARYING. + 2017-12-04 Segher Boessenkool * combine.c: Adjust comment. diff --git a/gcc/gimple-ssa-evrp-analyze.c b/gcc/gimple-ssa-evrp-analyze.c index 551b1d6b529..fb3d3297a78 100644 --- a/gcc/gimple-ssa-evrp-analyze.c +++ b/gcc/gimple-ssa-evrp-analyze.c @@ -271,8 +271,7 @@ evrp_range_analyzer::record_ranges_from_stmt (gimple *stmt) edge taken_edge; value_range vr = VR_INITIALIZER; vr_values->extract_range_from_stmt (stmt, &taken_edge, &output, &vr); - if (output - && (vr.type == VR_RANGE || vr.type == VR_ANTI_RANGE)) + if (output) { vr_values->update_value_range (output, &vr);