* haifa-sched.c (sched_create_recovery_edges): Update profile.

From-SVN: r249967
This commit is contained in:
Jan Hubicka 2017-07-04 15:42:22 +02:00 committed by Jan Hubicka
parent 4741e46d77
commit cea768b0ca
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2017-07-04 Jan Hubicka <hubicka@ucw.cz>
* haifa-sched.c (sched_create_recovery_edges): Update profile.
2017-07-04 Jan Hubicka <hubicka@ucw.cz>
* bb-reorder.c (better_edge_p): Fix handling of uninitialized

View file

@ -8302,7 +8302,19 @@ sched_create_recovery_edges (basic_block first_bb, basic_block rec,
else
edge_flags = 0;
make_edge (first_bb, rec, edge_flags);
edge e2 = single_succ_edge (first_bb);
edge e = make_edge (first_bb, rec, edge_flags);
/* TODO: The actual probability can be determined and is computed as
'todo_spec' variable in create_check_block_twin and
in sel-sched.c `check_ds' in create_speculation_check. */
e->probability = profile_probability::very_unlikely ();
e->count = first_bb->count.apply_probability (e->probability);
rec->count = e->count;
rec->frequency = EDGE_FREQUENCY (e);
e2->probability = e->probability.invert ();
e2->count = first_bb->count - e2->count;
rtx_code_label *label = block_label (second_bb);
rtx_jump_insn *jump = emit_jump_insn_after (targetm.gen_jump (label),
BB_END (rec));