On 2/15/22 10:56, Jakub Jelinek wrote:

+bool
+gori_compute::condexpr_adjust (irange &r1, irange &r2, gimple *, tree cond,
+                              tree op1, tree op2, fur_source &src)
+{
+  int_range_max tmp, cond_true, cond_false;
+  tree ssa1 = gimple_range_ssa_p (op1);
+  tree ssa2 = gimple_range_ssa_p (op2);
+  if (!ssa1 && !ssa2)
+    return false;
+  if (!COMPARISON_CLASS_P (cond))
+    return false;
+  range_operator *hand = range_op_handler (TREE_CODE (cond), TREE_TYPE (op1));
Maybe I'm missing something, but I would expect calling range_op_handler
with the type of the comparison operands, i.e.
TREE_TYPE (TREE_OPERAND (cond, 0))
or so, rather than the type of lhs/op1/op2.
The comparison arguments could have a different type from lhs/op1/op2...

mmmm, true that.  I will make that adjustment.

Andrew

Reply via email to