From f90130752f21c4cfc1720bc875b8a23ea95afec6 Mon Sep 17 00:00:00 2001 From: David Edelsohn <edelsohn@gnu.org> Date: Mon, 4 Apr 2005 22:50:53 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/rtlanal.c | 8 +++----- gcc/tree-eh.c | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a114c59d380..36608c762564 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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. diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 0686af8c65bc..da9774e488be 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -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; diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index ab945ff97017..3dbcfa87ef9a 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -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; -- GitLab