Revert op[12]_range operators for PLUS_EXPR and MINUS_EXPR.

Revert the patch below until issues are resolved:

	commit 4287e8168f
	Author: Aldy Hernandez <aldyh@redhat.com>
	Date:   Wed Nov 9 01:00:57 2022 +0100

	    Implement op[12]_range operators for PLUS_EXPR and MINUS_EXPR.

	    We can implement the op[12]_range entries for plus and minus in terms
	    of each other.  These are adapted from the integer versions.

gcc/ChangeLog:

	* range-op-float.cc (class foperator_plus): Remove op[12]_range.
	(class foperator_minus): Same.
This commit is contained in:
Aldy Hernandez 2022-11-09 16:35:40 +01:00
parent ace0ae0933
commit 8bb3f172d3

View file

@ -1863,29 +1863,6 @@ foperator_unordered_equal::op1_range (frange &r, tree type,
class foperator_plus : public range_operator_float
{
using range_operator_float::op1_range;
using range_operator_float::op2_range;
public:
virtual bool op1_range (frange &r, tree type,
const frange &lhs,
const frange &op2,
relation_trio = TRIO_VARYING) const final override
{
if (lhs.undefined_p ())
return false;
range_op_handler minus (MINUS_EXPR, type);
if (!minus)
return false;
return minus.fold_range (r, type, lhs, op2);
}
virtual bool op2_range (frange &r, tree type,
const frange &lhs,
const frange &op1,
relation_trio = TRIO_VARYING) const final override
{
return op1_range (r, type, lhs, op1);
}
private:
void rv_fold (REAL_VALUE_TYPE &lb, REAL_VALUE_TYPE &ub, bool &maybe_nan,
tree type,
const REAL_VALUE_TYPE &lh_lb,
@ -1910,28 +1887,6 @@ private:
class foperator_minus : public range_operator_float
{
using range_operator_float::op1_range;
using range_operator_float::op2_range;
public:
virtual bool op1_range (frange &r, tree type,
const frange &lhs,
const frange &op2,
relation_trio = TRIO_VARYING) const final override
{
if (lhs.undefined_p ())
return false;
return fop_plus.fold_range (r, type, lhs, op2);
}
virtual bool op2_range (frange &r, tree type,
const frange &lhs,
const frange &op1,
relation_trio = TRIO_VARYING) const final override
{
if (lhs.undefined_p ())
return false;
return fold_range (r, type, op1, lhs);
}
private:
void rv_fold (REAL_VALUE_TYPE &lb, REAL_VALUE_TYPE &ub, bool &maybe_nan,
tree type,
const REAL_VALUE_TYPE &lh_lb,