summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-01 08:52:59 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-01 08:52:59 +0000
commit685b24f5babbfea0e9374a5fd393cf9e1c7bcd0d (patch)
tree6c454da7c03895efb5f70d5099fddba16413ef4a /gcc/tree-ssa-loop-im.c
parentc5235c0b315ea8765f6b018a98fee695d60d9469 (diff)
downloadgcc-685b24f5babbfea0e9374a5fd393cf9e1c7bcd0d.tar.gz
2005-08-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/23109 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): If trapping math is in effect, use post-dominator information to check if we'd in any case reach a trapping point before doing the reciprocal insertion. (execute_cse_reciprocals): Compute post-dominators, if necessary. * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV expressions are invariant only if trapping math is not in effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102627 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r--gcc/tree-ssa-loop-im.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index e3476c69b2a..9281079b7fd 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -610,6 +610,7 @@ determine_invariantness_stmt (struct dom_walk_data *dw_data ATTRIBUTE_UNUSED,
&& (rhs = TREE_OPERAND (stmt, 1)) != NULL
&& TREE_CODE (rhs) == RDIV_EXPR
&& flag_unsafe_math_optimizations
+ && !flag_trapping_math
&& outermost_invariant_loop_expr (TREE_OPERAND (rhs, 1),
loop_containing_stmt (stmt)) != NULL
&& outermost_invariant_loop_expr (rhs,