https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81165
--- Comment #12 from Jeffrey A. Law <law at redhat dot com> --- In general we can't know if we're going to have a single argument PHI after threading. If the block has multiple preds that thread to the same final destination, then we create a single copy and vector all the preds into that single copy. However, there the obvious special case. If the block starts with just 2 preds, then any PHIs will be single argument PHIs in the copy. That's probably enough to address this particular BZ. I don't think that's enough to address the older BZ in this space though.