https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71261
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- For reference (untested): Index: tree-if-conv.c =================================================================== --- tree-if-conv.c (revision 236695) +++ tree-if-conv.c (working copy) @@ -2529,7 +2529,7 @@ ifcvt_split_def_stmt (gimple *def_stmt, gimple *copy_stmt; gimple_stmt_iterator gsi; use_operand_p use_p; - imm_use_iterator imm_iter; + ssa_op_iter imm_iter; var = gimple_assign_lhs (def_stmt); copy_stmt = gimple_copy (def_stmt); @@ -2548,9 +2548,9 @@ ifcvt_split_def_stmt (gimple *def_stmt, print_generic_expr (dump_file, lhs, TDF_SLIM); fprintf (dump_file, "\n"); } - FOR_EACH_IMM_USE_FAST (use_p, imm_iter, var) + FOR_EACH_SSA_USE_OPERAND (use_p, use_stmt, imm_iter, SSA_OP_USE) { - if (USE_STMT (use_p) != use_stmt) + if (USE_FROM_PTR (use_p) != var) continue; SET_USE (use_p, lhs); break;