diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-03-06 08:32:48 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-03-10 12:14:49 +0100 |
commit | 0e95df7c002d5a7085b368dada87d1311f425c64 (patch) | |
tree | 3282d803c276a7cfbec785b2539c6308ea74757b /gcc | |
parent | 7b0df61d25e5d156aea41fd0ddc318e904db7894 (diff) | |
download | gcc-0e95df7c002d5a7085b368dada87d1311f425c64.zip gcc-0e95df7c002d5a7085b368dada87d1311f425c64.tar.gz gcc-0e95df7c002d5a7085b368dada87d1311f425c64.tar.bz2 |
Adjust compute_logical_operands to use known range if we can't compute one.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gimple-range-gori.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/gimple-range-gori.cc b/gcc/gimple-range-gori.cc index d6710ff..b1f321f 100644 --- a/gcc/gimple-range-gori.cc +++ b/gcc/gimple-range-gori.cc @@ -915,7 +915,6 @@ gori_compute::compute_logical_operands (irange &r, gimple *stmt, bool op1_in_chain, op2_in_chain; const unsigned depth_limit = 6; // Max depth of logical recursion. static unsigned depth = 0; // Current depth of recursion. - tree type = TREE_TYPE (name); widest_irange op1_true, op1_false, op2_true, op2_false; // Reaching this point means NAME is not in this stmt, but one of @@ -951,10 +950,10 @@ gori_compute::compute_logical_operands (irange &r, gimple *stmt, { if (!compute_operand_range (op1_true, SSA_NAME_DEF_STMT (op1), m_bool_one, name, name_range)) - op1_true.set_varying (type); + get_tree_range (op1_true, name, name, name_range); if (!compute_operand_range (op1_false, SSA_NAME_DEF_STMT (op1), m_bool_zero, name, name_range)) - op1_false.set_varying (type); + get_tree_range (op1_false, name, name, name_range); } else { @@ -966,10 +965,10 @@ gori_compute::compute_logical_operands (irange &r, gimple *stmt, { if (!compute_operand_range (op2_true, SSA_NAME_DEF_STMT (op2), m_bool_one, name, name_range)) - op2_true.set_varying (type); + get_tree_range (op2_true, name, name, name_range); if (!compute_operand_range (op2_false, SSA_NAME_DEF_STMT (op2), m_bool_zero, name, name_range)) - op2_false.set_varying (type); + get_tree_range (op2_false, name, name, name_range); } else { |