if (!var)
{
var = create_tmp_var (TREE_TYPE (base), "ivtmp");
- add_referenced_tmp_var (var);
+ add_referenced_var (var);
}
vb = make_ssa_name (var, NULL_TREE);
use_operand_p op;
bool ok;
unsigned est_niter;
+ unsigned irr = loop_preheader_edge (loop)->flags & EDGE_IRREDUCIBLE_LOOP;
sbitmap wont_exit;
est_niter = expected_loop_iterations (loop);
loop_split_edge_with (loop_latch_edge (loop), NULL);
exit_bb = single_pred (loop->latch);
- new_exit = make_edge (exit_bb, rest, EDGE_FALSE_VALUE);
+ new_exit = make_edge (exit_bb, rest, EDGE_FALSE_VALUE | irr);
new_exit->count = loop_preheader_edge (loop)->count;
est_niter = est_niter / factor + 1;
new_exit->probability = REG_BR_PROB_BASE / est_niter;
else
{
var = create_tmp_var (TREE_TYPE (init), "unrinittmp");
- add_referenced_tmp_var (var);
+ add_referenced_var (var);
}
new_init = make_ssa_name (var, NULL_TREE);