Commit f9013075 by David Edelsohn Committed by David Edelsohn

tree-eh.c (tree_could_trap_p): Allow non-constant floating point trapping divide.

2005-04-02  David Edelsohn  <edelsohn@gnu.org>
            Daniel Jacobowitz  <dan@codesourcery.com>

        * tree-eh.c (tree_could_trap_p): Allow non-constant floating point
        trapping divide.
        * rtlanal.c (may_trap_p): Same.

Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>

From-SVN: r97582
parent 57e921bc
2005-04-04 David Edelsohn <edelsohn@gnu.org>
Daniel Jacobowitz <dan@codesourcery.com>
* tree-eh.c (tree_could_trap_p): Allow non-constant floating point
trapping divide.
* rtlanal.c (may_trap_p): Same.
2005-04-04 Dale Johannesen <dalej@apple.com>
* ChangeLog: remove reference to ChangeLog.12.
......
......@@ -2105,11 +2105,9 @@ may_trap_p (rtx x)
case UMOD:
if (HONOR_SNANS (GET_MODE (x)))
return 1;
if (! CONSTANT_P (XEXP (x, 1))
|| (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT
&& flag_trapping_math))
return 1;
if (XEXP (x, 1) == const0_rtx)
if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
return flag_trapping_math;
if (!CONSTANT_P (XEXP (x, 1)) || (XEXP (x, 1) == const0_rtx))
return 1;
break;
......
......@@ -1787,8 +1787,8 @@ tree_could_trap_p (tree expr)
case RDIV_EXPR:
if (honor_snans || honor_trapv)
return true;
if (fp_operation && flag_trapping_math)
return true;
if (fp_operation)
return flag_trapping_math;
t = TREE_OPERAND (expr, 1);
if (!TREE_CONSTANT (t) || integer_zerop (t))
return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment