https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65177
--- Comment #15 from Jeffrey A. Law <law at redhat dot com> --- Basically the way this works is we record the SSA_NAMEs that are being duplicated during block copying. For any duplicated SSA_NAME, if > 1 instance of it is live at a join point in the CFG, then update_ssa will create a PHI and merge the values. I can't offhand think of any reason why it wouldn't work here if the names were properly marked. But I haven't looked at the before/after CFGs to see if there's something unique in this case. In fact, I haven't looked at it at all at this point.