re PR middle-end/38533 (tree-ssa-reassoc.c increases register pressure several times)
authorJakub Jelinek <jakub@redhat.com>
Thu, 18 Dec 2008 07:54:43 +0000 (08:54 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 18 Dec 2008 07:54:43 +0000 (08:54 +0100)
commitec81df7d4e83ddd28014e07e0eec7fe0e3559deb
treeb285e368e7c5678010a07f0b6719488e1e1f94b3
parent9f68560cb5dd86f27ed0df035cc4821b39885887
re PR middle-end/38533 (tree-ssa-reassoc.c increases register pressure several times)

PR middle-end/38533
* tree-ssa-reassoc.c (remove_visited_stmt_chain): New function.
(rewrite_expr_tree): Add moved argument, move stmts together if
needed.  Call remove_visited_stmt_chain.
(linearize_expr_tree): Don't move stmts here.
(reassociate_bb): Call remove_visited_stmt_chain if num ops is 1.
Adjust rewrite_expr_tree caller.

* gcc.dg/tree-ssa/pr38533.c: New test.
* gcc.c-torture/execute/pr38533.c: New test.

From-SVN: r142807
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr38533.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr38533.c [new file with mode: 0644]
gcc/tree-ssa-reassoc.c