When insert_updated_phi_nodes_for tries to skip pruning the IDF to blocks dominated by the nearest common dominator of the set of definition blocks it compares against ENTRY_BLOCK but that's never going to be the common dominator, instead it will be at most its single successor.
Re-bootstrap and regtest running on x86_64-unknown-linux-gnu. * tree-into-ssa.cc (insert_updated_phi_nodes_for): Skip pruning when the nearest common dominator is the successor of ENTRY_BLOCK. --- gcc/tree-into-ssa.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/tree-into-ssa.cc b/gcc/tree-into-ssa.cc index 705e4119ba3..858c3840475 100644 --- a/gcc/tree-into-ssa.cc +++ b/gcc/tree-into-ssa.cc @@ -3262,7 +3262,7 @@ insert_updated_phi_nodes_for (tree var, bitmap_head *dfs, common dominator of all the definition blocks. */ entry = nearest_common_dominator_for_set (CDI_DOMINATORS, db->def_blocks); - if (entry != ENTRY_BLOCK_PTR_FOR_FN (cfun)) + if (entry != single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun))) EXECUTE_IF_SET_IN_BITMAP (idf, 0, i, bi) if (BASIC_BLOCK_FOR_FN (cfun, i) != entry && dominated_by_p (CDI_DOMINATORS, -- 2.35.3