https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98338
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Doesn't that just enable the possibility of ICF optimization of those: bool operator_plus::op1_range (irange &r, tree type, const irange &lhs, const irange &op2) const { return range_op_handler (MINUS_EXPR, type)->fold_range (r, type, lhs, op2); } bool operator_plus::op2_range (irange &r, tree type, const irange &lhs, const irange &op1) const { return range_op_handler (MINUS_EXPR, type)->fold_range (r, type, lhs, op1); } methods?