re PR tree-optimization/57521 (wrong code for expressions in loop at -O3)
authorRichard Biener <rguenther@suse.de>
Tue, 27 Aug 2013 10:10:34 +0000 (10:10 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 27 Aug 2013 10:10:34 +0000 (10:10 +0000)
commit4ded82768aaa1e00d3cda62ee66f2e5cd767ceb9
tree311215e5a03ff949e2f3101bcf33c5ac1f3ec523
parentd15774b6318e7d7b1781eed30a1e3703bc450b98
re PR tree-optimization/57521 (wrong code for expressions in loop at -O3)

2013-08-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57521
* tree-if-conv.c (if_convertible_bb_p): Verify that at least
one edge is non-critical.
(find_phi_replacement_condition): Make sure to use a non-critical
edge.  Cleanup and remove old bug workarounds.
(bb_postdominates_preds): Remove.
(if_convertible_loop_p_1): Do not compute post-dominators.
(combine_blocks): Do not free post-dominators.
(main_tree_if_conversion): Likewise.
(pass_data_if_conversion): Add TODO_verify_ssa.

* gcc.dg/torture/pr57521.c: New testcase.

From-SVN: r202019
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr57521.c [new file with mode: 0644]
gcc/tree-if-conv.c