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> 2005-04-04 Dale Johannesen <dalej@apple.com>
* ChangeLog: remove reference to ChangeLog.12. * ChangeLog: remove reference to ChangeLog.12.
......
...@@ -2105,11 +2105,9 @@ may_trap_p (rtx x) ...@@ -2105,11 +2105,9 @@ may_trap_p (rtx x)
case UMOD: case UMOD:
if (HONOR_SNANS (GET_MODE (x))) if (HONOR_SNANS (GET_MODE (x)))
return 1; return 1;
if (! CONSTANT_P (XEXP (x, 1)) if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
|| (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT return flag_trapping_math;
&& flag_trapping_math)) if (!CONSTANT_P (XEXP (x, 1)) || (XEXP (x, 1) == const0_rtx))
return 1;
if (XEXP (x, 1) == const0_rtx)
return 1; return 1;
break; break;
......
...@@ -1787,8 +1787,8 @@ tree_could_trap_p (tree expr) ...@@ -1787,8 +1787,8 @@ tree_could_trap_p (tree expr)
case RDIV_EXPR: case RDIV_EXPR:
if (honor_snans || honor_trapv) if (honor_snans || honor_trapv)
return true; return true;
if (fp_operation && flag_trapping_math) if (fp_operation)
return true; return flag_trapping_math;
t = TREE_OPERAND (expr, 1); t = TREE_OPERAND (expr, 1);
if (!TREE_CONSTANT (t) || integer_zerop (t)) if (!TREE_CONSTANT (t) || integer_zerop (t))
return true; 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