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;