https://gcc.gnu.org/g:f6bed6d3fcc13880ffa786b6c616e2306efe2bf3

commit r15-573-gf6bed6d3fcc13880ffa786b6c616e2306efe2bf3
Author: Aldy Hernandez <al...@redhat.com>
Date:   Thu May 16 09:22:55 2024 +0200

    Use a boolean type when folding conditionals in simplify_using_ranges.
    
    In adding some traps for PR114985 I noticed that the conditional
    folding code in simplify_using_ranges was using the wrong type.  This
    cleans up the oversight.
    
    gcc/ChangeLog:
    
            PR tree-optimization/114985
            * vr-values.cc (simplify_using_ranges::fold_cond_with_ops): Use
            boolean type when folding conditionals.

Diff:
---
 gcc/vr-values.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gcc/vr-values.cc b/gcc/vr-values.cc
index 0572bf6c8c73..e6ea9592574f 100644
--- a/gcc/vr-values.cc
+++ b/gcc/vr-values.cc
@@ -316,10 +316,9 @@ simplify_using_ranges::fold_cond_with_ops (enum tree_code 
code,
       || !query->range_of_expr (r1, op1, s))
     return NULL_TREE;
 
-  tree type = TREE_TYPE (op0);
   int_range<1> res;
   range_op_handler handler (code);
-  if (handler && handler.fold_range (res, type, r0, r1))
+  if (handler && handler.fold_range (res, boolean_type_node, r0, r1))
     {
       if (res == range_true ())
        return boolean_true_node;

Reply via email to