re PR middle-end/40815 (redundant neg instruction caused by loop-invariant)
commitb0aef8a83c2d6deb4040c46b60f04f224894f058
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Thu, 8 Apr 2010 08:20:36 +0000 (8 08:20 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Thu, 8 Apr 2010 08:20:36 +0000 (8 08:20 +0000)
tree6ce00310b5e89f1a541aa38b1128562367380e03
parent0b2de948243781018a9d292d0b1ebdbf3c8cbb31
re PR middle-end/40815 (redundant neg instruction caused by loop-invariant)

PR middle-end/40815
* tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
(negate_value): Move code to push elements to broken_up_substracts ...
(eliminate_plus_minus_pair): ... here.  Push operands that have no
negative pair to plus_negates.
(repropagate_negates, init_reassoc, fini_reassoc): Update.

PR middle-end/40815
* gcc.dg/tree-ssa/reassoc-19.c: New.

From-SVN: r158105
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c [new file with mode: 0644]
gcc/tree-ssa-reassoc.c