aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-01-18 13:03:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-01-18 13:03:54 +0000
commit46ec7a061e006c4dcc717a895da0d2693432f49b (patch)
tree0e0ca108865520ecb9e416f0ebe2b8b58da94de8 /gcc/gimple.c
parent5d7804a940dca2bddbb34978d45e06ac7ef13c80 (diff)
downloadgcc-46ec7a061e006c4dcc717a895da0d2693432f49b.zip
gcc-46ec7a061e006c4dcc717a895da0d2693432f49b.tar.gz
gcc-46ec7a061e006c4dcc717a895da0d2693432f49b.tar.bz2
re PR tree-optimization/69308 (ifcombine joins together floating point expression with side effects)
2016-01-18 Richard Biener <rguenther@suse.de> PR middle-end/69308 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. From-SVN: r232516
Diffstat (limited to 'gcc/gimple.c')
-rw-r--r--gcc/gimple.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/gimple.c b/gcc/gimple.c
index ff3c68a..0f4ed88 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -1931,6 +1931,11 @@ gimple_could_trap_p_1 (gimple *s, bool include_mem, bool include_stores)
&& TYPE_OVERFLOW_TRAPS (t)),
div));
+ case GIMPLE_COND:
+ t = TREE_TYPE (gimple_cond_lhs (s));
+ return operation_could_trap_p (gimple_cond_code (s),
+ FLOAT_TYPE_P (t), false, NULL_TREE);
+
default:
break;
}