diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-04-12 16:15:13 +0000 |
---|---|---|
committer | William Schmidt <wschmidt@gcc.gnu.org> | 2012-04-12 16:15:13 +0000 |
commit | a6f8851e3efa0157bf28631e2d296430b4dbc472 (patch) | |
tree | 46ca9b251c6bcce042ae014fc4bbc5136990a8d8 /libstdc++-v3/python | |
parent | 452aa9c5105180110e7e80aa74044426ca8271cf (diff) | |
download | gcc-a6f8851e3efa0157bf28631e2d296430b4dbc472.zip gcc-a6f8851e3efa0157bf28631e2d296430b4dbc472.tar.gz gcc-a6f8851e3efa0157bf28631e2d296430b4dbc472.tar.bz2 |
re PR tree-optimization/18589 (could optimize FP multiplies better)
gcc:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* tree-ssa-reassoc.c (reassociate_stats): Add two fields.
(operand_entry): Add count field.
(add_repeat_to_ops_vec): New function.
(completely_remove_stmt): Likewise.
(remove_def_if_absorbed_call): Likewise.
(remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
(acceptable_pow_call): New function.
(linearize_expr_tree): Look for builtin pow/powi calls and add operand
entries with repeat counts when found.
(repeat_factor_d): New struct and associated typedefs.
(repeat_factor_vec): New static vector variable.
(compare_repeat_factors): New function.
(get_reassoc_pow_ssa_name): Likewise.
(attempt_builtin_powi): Likewise.
(reassociate_bb): Call attempt_builtin_powi.
(fini_reassoc): Two new calls to statistics_counter_event.
gcc/testsuite:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* gcc.dg/tree-ssa/pr18589-1.c: New test.
* gcc.dg/tree-ssa/pr18589-2.c: Likewise.
* gcc.dg/tree-ssa/pr18589-3.c: Likewise.
* gcc.dg/tree-ssa/pr18589-4.c: Likewise.
* gcc.dg/tree-ssa/pr18589-5.c: Likewise.
* gcc.dg/tree-ssa/pr18589-6.c: Likewise.
* gcc.dg/tree-ssa/pr18589-7.c: Likewise.
* gcc.dg/tree-ssa/pr18589-8.c: Likewise.
* gcc.dg/tree-ssa/pr18589-9.c: Likewise.
* gcc.dg/tree-ssa/pr18589-10.c: Likewise.
From-SVN: r186384
Diffstat (limited to 'libstdc++-v3/python')
0 files changed, 0 insertions, 0 deletions