https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87633

--- Comment #7 from Yury Gribov <ygribov at gcc dot gnu.org> ---
Problem seems to be in extract_range_from_binary_expr_1, in
          /* Build the bounds.  */
          combine_bound (code, wmin, min_ovf, expr_type, min_op0, min_op1);
min_op0 is NULL_TREE which causes set_value_range_with_overflow to generate
invalid range which then ICEs. Simply adding
  && min_op0 && min_op1 && max_op0 && max_op1
to guarding condition works around the error but I guess you'll want a more
clever fix.

I'll try retesting without isl until it's fixed.

Reply via email to