https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89497
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|marxin at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> --- So the issue is that CFG cleanup has to run before update_ssa and update_ssa will have the job to replace _1 with _25. But then BB merging done as part of later cleanup ends up folding stmts with out-of-date SSA form. We have /* Start by iterating over all basic blocks in PRE order looking for edge removal opportunities. Do this first because incoming SSA form may be invalid and we want to avoid performing SSA related tasks such as propgating out a PHI node during BB merging in that state. */ retval |= cleanup_control_flow_pre (); but regular SSA update is still not done here.