aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-06-28 14:24:00 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-06-28 14:24:00 +0000
commit56a6d474ab255eddf334bd77df014673d4035336 (patch)
treebe42b439d86c5ccb2693751b78243de1dae4300e /gcc/tree-ssa-reassoc.c
parent00eee3fa2a884e3ab0bcbf6de3a94d4da2b34d4c (diff)
downloadgcc-56a6d474ab255eddf334bd77df014673d4035336.zip
gcc-56a6d474ab255eddf334bd77df014673d4035336.tar.gz
gcc-56a6d474ab255eddf334bd77df014673d4035336.tar.bz2
re PR tree-optimization/81227 (ICE in get_single_symbol, at tree-vrp.c:799)
2017-06-28 Richard Biener <rguenther@suse.de> PR middle-end/81227 * fold-const.c (negate_expr_p): Use TYPE_UNSIGNED, not TYPE_OVERFLOW_WRAPS. * match.pd (negate_expr_p): Likewise. * tree-ssa-reassoc.c (optimize_range_tests_diff): Use fold_build2, not fold_binary. * gcc.dg/pr81227.c: New testcase. From-SVN: r249742
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 35eb72c..982ab79 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -2561,7 +2561,7 @@ optimize_range_tests_diff (enum tree_code opcode, tree type,
tem2 = fold_convert (type, tem2);
lowi = fold_convert (type, lowi);
mask = fold_build1 (BIT_NOT_EXPR, type, tem1);
- tem1 = fold_binary (MINUS_EXPR, type,
+ tem1 = fold_build2 (MINUS_EXPR, type,
fold_convert (type, rangei->exp), lowi);
tem1 = fold_build2 (BIT_AND_EXPR, type, tem1, mask);
lowj = build_int_cst (type, 0);