]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR middle-end/54838 (ICE: in merge_latch_edges, at cfgloop.c:678 with -ftracer)
authorRichard Biener <rguenther@suse.de>
Tue, 18 Dec 2012 14:39:49 +0000 (14:39 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 18 Dec 2012 14:39:49 +0000 (14:39 +0000)
commit867fdd05e4de59b21ea5fec6182127404cc94712
tree965e63d5d06c276a59bece27337abea448f54c59
parent0b8ca8fefec7479e91654819be9b77362406b1b5
re PR middle-end/54838 (ICE: in merge_latch_edges, at cfgloop.c:678 with -ftracer)

2012-12-18  Richard Biener  <rguenther@suse.de>

PR middle-end/54838
* cfgloopmanip.c (fix_loop_structure): Re-discover latch
edges first and mark loops for removal if no latch edges remain.
Properly re-create LOOPS_HAVE_FALLTHRU_PREHEADERS.
* loop-init.c (loop_optimizer_finalize): Set
LOOPS_MAY_HAVE_MULTIPLE_LATCHES.

* g++.dg/torture/pr54838.C: New testcase.

From-SVN: r194582
gcc/ChangeLog
gcc/cfgloopmanip.c
gcc/loop-init.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr54838.C [new file with mode: 0644]