aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-11-17 09:31:33 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-11-17 09:31:33 +0000
commit53bc4b3a0db8af545f0b4757b6e1aa0102c21d0f (patch)
tree9f820d718a3c99d3f06fc45efad5174eb10cc24d /gcc
parent0f3422cc9f225076edf45d2fbb5134506c3ad593 (diff)
downloadgcc-53bc4b3a0db8af545f0b4757b6e1aa0102c21d0f.zip
gcc-53bc4b3a0db8af545f0b4757b6e1aa0102c21d0f.tar.gz
gcc-53bc4b3a0db8af545f0b4757b6e1aa0102c21d0f.tar.bz2
re PR tree-optimization/63898 (r217560 caused segfault building 462.libquantum from cpu2006)
2014-11-17 Richard Biener <rguenther@suse.de> PR middle-end/63898 * match.pd: Guard X / CST -> X * CST' transform against zero CST. From-SVN: r217650
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/match.pd3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 543e24b..ff93f9a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-17 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63898
+ * match.pd: Guard X / CST -> X * CST' transform against
+ zero CST.
+
2014-11-17 Terry Guo <terry.guo@arm.com>
* config/arm/thumb1.md (*addsi3_cbranch_scratch): Updated to UAL
diff --git a/gcc/match.pd b/gcc/match.pd
index 127c7d9..da6599c 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -166,7 +166,8 @@ along with GCC; see the file COPYING3. If not see
(simplify
(rdiv @0 cst@1)
(if (optimize)
- (if (flag_reciprocal_math)
+ (if (flag_reciprocal_math
+ && !real_zerop (@1))
(with
{ tree tem = fold_binary (RDIV_EXPR, type, build_one_cst (type), @1); }
(if (tem)