On Fri, May 17, 2013 at 11:16 PM, Jeff Law wrote: >> What's happened, is that emitting the epilogue at the end of basic >> block 4 (with a barrier at the end) has made the use insn 43 >> unreachable. > > But from the description you've given, it appears that the epilogue itself > has unreachable code, and that shouldn't be happening. If you think it can > happen by way of shrink-wrapping, I'd like to see the analysis.
It is not the epilogue itself but the way shrink-wrapping emits it. The block that is unreachable has its last predecessor edge removed in function.c:6607: 6607 redirect_edge_and_branch_force (e, *pdest_bb); I haven't looked at how the shrink-wrapping code works exactly. It's Bernd's code, so perhaps he can have a look. This is now PR57320. Ciao! Steven