https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110489
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- There would possibly be opportunity to optimize some of our infrastructure for the case where we have 3 basic blocks (the minimum, ENTRY, bb2 and EXIT). For example dominance compute doesn't need to be "computed", the only special case to consider is that EXIT is not reachable. The testcase at hand seems to consist of forwarders. In general single-BB functions can be quite common in C++ code as well. A lot of passes could excuse themselves as well (next special case is BB2 having a backedge to itself). There is quite some constant overhead all over the place even when we do nothing in the end.