gcc:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 May 2005 09:55:44 +0000 (09:55 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 May 2005 09:55:44 +0000 (09:55 +0000)
commit429f2f90251e5a4bfdd214017e9824995f5d4ae1
tree8e47af6adacdca86c18a58438d78923a88ce610b
parentadcfa3a3f7ceb81c9e701b82dfda6d5a5f5b93f3
gcc:
2005-05-17  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.in: Add tree-ssa-math-opts.c.
* expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
* fold-const.c (distribute_real_division): New.
(fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
* tree-pass.h (pass_cse_reciprocals): New.
* tree-optimize.c (init_tree_optimization_passes): Run it.
* tree-ssa-math-opts.c: New file.
* doc/passes.texi: Document the new pass.

gcc/testsuite:
2005-05-17  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/fold-div-1.c, gcc.dg/recip-1.c, gcc.dg/recip-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99826 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/doc/passes.texi
gcc/expr.c
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/fold-div-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/recip-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/recip-2.c [new file with mode: 0644]
gcc/tree-optimize.c
gcc/tree-pass.h