This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/51495] [4.7 Regression] ICE: in force_nonfallthru_and_redirect, at cfgrtl.c:1171 with computed goto
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 12 Dec 2011 16:36:38 +0000
- Subject: [Bug rtl-optimization/51495] [4.7 Regression] ICE: in force_nonfallthru_and_redirect, at cfgrtl.c:1171 with computed goto
- Auto-submitted: auto-generated
- References: <bug-51495-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51495
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-12 16:36:38 UTC ---
I don't think so. We only do something about single_succ_p basic blocks and
therefore we should never call e.g. that can_duplicate_block_p predicate more
than once for each basic block. For basic blocks for which we set bits in
bb_tail bitmap we already walk once through all its predecessor edges, and for
those all the patch does is that we walk all the predecessor edges twice
instead of once. Then in the rare case where this added loop determines there
are complex edges from no-prologue bbs (this only happens
on this new compile/pr51495.c testcase in -m64 bootstrap/regtest and on
compile/pr28489.c, torture/pr42462.C and execute/980526-1.c in -m32
bootstrap/regtest) we walk some extra edges, but again, no edge is ever walked
here more than twice.