summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/graphite-isl-ast-to-gimple.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab9e0010a9c..a3b86595f20 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-11-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/88019
+ * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Rewrite
+ COND_EXPR arguments to non-trapping overflow.
+
2018-11-14 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.h (reg_class): Reorder registers classes, remove
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 0d8960c6bb2..e2dbf6fbf9d 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -411,7 +411,9 @@ ternary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
if (codegen_error_p ())
return NULL_TREE;
- return fold_build3 (COND_EXPR, type, a, b, c);
+ return fold_build3 (COND_EXPR, type, a,
+ rewrite_to_non_trapping_overflow (b),
+ rewrite_to_non_trapping_overflow (c));
}
/* Converts a unary isl_ast_expr_op expression E to a GCC expression tree of