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.