From 85e50b6ba8ca2221593838878ab8d804b37faf44 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Tue, 22 Apr 2003 15:01:18 +0000 Subject: fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT macro defaulting to original BRANCH_COST heuristic. * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT macro defaulting to original BRANCH_COST heuristic. * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document. * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define. From-SVN: r65942 --- gcc/fold-const.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gcc/fold-const.c') diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 146f40f97ac..eb65795e913 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -3414,6 +3414,10 @@ merge_ranges (pin_p, plow, phigh, in0_p, low0, high0, in1_p, low1, high1) return 1; } +#ifndef RANGE_TEST_NON_SHORT_CIRCUIT +#define RANGE_TEST_NON_SHORT_CIRCUIT (BRANCH_COST >= 2) +#endif + /* EXP is some logical combination of boolean tests. See if we can merge it into some range test. Return the new tree if so. */ @@ -3450,7 +3454,7 @@ fold_range_test (exp) /* On machines where the branch cost is expensive, if this is a short-circuited branch and the underlying object on both sides is the same, make a non-short-circuit operation. */ - else if (BRANCH_COST >= 2 + else if (RANGE_TEST_NON_SHORT_CIRCUIT && lhs != 0 && rhs != 0 && (TREE_CODE (exp) == TRUTH_ANDIF_EXPR || TREE_CODE (exp) == TRUTH_ORIF_EXPR) -- cgit v1.2.1