aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2010-11-07 18:49:11 +0100
committerUros Bizjak <uros@gcc.gnu.org>2010-11-07 18:49:11 +0100
commitbb3684703d50c0d84978135438eba3fb8780b2ac (patch)
tree33733443aa4b3ecc17c13c832d47c84ba35650a6
parent604e92e2f18660939dbd248d13e927307313c362 (diff)
downloadgcc-bb3684703d50c0d84978135438eba3fb8780b2ac.zip
gcc-bb3684703d50c0d84978135438eba3fb8780b2ac.tar.gz
gcc-bb3684703d50c0d84978135438eba3fb8780b2ac.tar.bz2
re PR tree-optimization/46346 (fma testsuite failures)
PR tree-optimization/46346 * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS. From-SVN: r166419
-rw-r--r--gcc/ChangeLog20
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/tree-ssa-forwprop.c6
3 files changed, 19 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b57589e..7f3e284 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/46346
+ * tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
+
2010-11-07 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c: Revert previous patch.
@@ -20,7 +25,7 @@
PR c/43384
* c-decl.c (lookup_label): Labels can only be referenced in a
- function's scope.
+ function's scope.
(store_parm_decls_oldstyle): Skip erroneous parameters.
2010-11-06 Anatoly Sokolov <aesok@post.ru>
@@ -49,7 +54,7 @@
* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
(TARGET_STRING_OBJECT_REF_TYPE_P): New.
(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
- * target.def (objc_construct_string_object): Rename, amend
+ * target.def (objc_construct_string_object): Rename, amend
documentation.
(string_object_ref_type_p): New hook.
(check_string_object_format_arg): New hook.
@@ -66,7 +71,7 @@
(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
2010-11-06 Eric Botcazou <ebotcazou@adacore.com>
- Pascal Obry <obry@adacore.com>
+ Pascal Obry <obry@adacore.com>
* config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine. Use 33
in 64-bit mode and 17 otherwise.
@@ -85,8 +90,7 @@
2010-11-05 Ian Lance Taylor <iant@google.com>
- * explow.c (allocate_dynamic_stack_space): Check
- MALLOC_ABI_ALIGNMENT.
+ * explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
2010-11-05 Jakub Jelinek <jakub@redhat.com>
@@ -98,8 +102,7 @@
PR target/46084
* explow.c (allocate_dynamic_stack_space): If flag_split_stack,
- request enough additional space for alignment, and force
- alignment.
+ request enough additional space for alignment, and force alignment.
2010-11-05 Kai Tietz <kai.tietz@onevision.com>
@@ -209,8 +212,7 @@
2010-11-05 Jakub Jelinek <jakub@redhat.com>
- * cfgexpand.c (expand_debug_expr): Handle MEM_REF
- with non-zero offset.
+ * cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
PR tree-optimization/46099
* tree-parloops.c (take_address_of): Add GSI argument. Return NULL
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 04faf4f..f7ba6d4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -100,7 +100,7 @@
* gcc.target/i386/387-2.c: Skip if -march= is specified.
* gcc.target/i386/387-6.c: Ditto.
- * gcc.target/i386/387-2.c: Add -mfancy-math-387 to dg-options.
+ * gcc.target/i386/387-3.c: Add -mfancy-math-387 to dg-options.
* gcc.target/i386/387-4.c: Ditto.
* gcc.target/i386/387-7.c: Ditto.
* gcc.target/i386/387-8.c: Ditto.
@@ -109,7 +109,7 @@
* gcc.target/i386/387-11.c: Ditto.
* gcc.target/i386/387-12.c: Ditto.
- * gcc.target/i386/387-2.c: Add -mno-sse3 to dg-options.
+ * gcc.target/i386/funcspec-8.c: Add -mno-sse3 to dg-options.
2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
@@ -217,8 +217,7 @@
2010-11-04 Bud Davis <jimmied@smu.edu>
- * gfortran.dg/intrinsic_numeric_arg.f: Add test to check
- error message.
+ * gfortran.dg/intrinsic_numeric_arg.f: Add test to check error message.
2010-11-04 Chao-ying Fu <fu@mips.com>
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index a828408..7e7e2b1 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -341,7 +341,11 @@ rhs_to_tree (tree type, gimple stmt)
{
location_t loc = gimple_location (stmt);
enum tree_code code = gimple_assign_rhs_code (stmt);
- if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS)
+ if (get_gimple_rhs_class (code) == GIMPLE_TERNARY_RHS)
+ return fold_build3_loc (loc, code, type, gimple_assign_rhs1 (stmt),
+ gimple_assign_rhs2 (stmt),
+ gimple_assign_rhs3 (stmt));
+ else if (get_gimple_rhs_class (code) == GIMPLE_BINARY_RHS)
return fold_build2_loc (loc, code, type, gimple_assign_rhs1 (stmt),
gimple_assign_rhs2 (stmt));
else if (get_gimple_rhs_class (code) == GIMPLE_UNARY_RHS)