aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-loop-interchange.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gimple-loop-interchange.cc')
-rw-r--r--gcc/gimple-loop-interchange.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/gimple-loop-interchange.cc b/gcc/gimple-loop-interchange.cc
index 1f0e49d..b188ce8 100644
--- a/gcc/gimple-loop-interchange.cc
+++ b/gcc/gimple-loop-interchange.cc
@@ -690,8 +690,8 @@ loop_cand::analyze_induction_var (tree var, tree chrec)
{
/* Punt on floating point invariants if honoring signed zeros,
representing that as + 0.0 would change the result if init
- is -0.0. */
- if (HONOR_SIGNED_ZEROS (chrec))
+ is -0.0. Similarly for SNaNs it can raise exception. */
+ if (HONOR_SIGNED_ZEROS (chrec) || HONOR_SNANS (chrec))
return false;
struct induction *iv = XCNEW (struct induction);
iv->var = var;