Commit fc6970e4 by Revital Eres Committed by Revital Eres

Support closing_branch_deps

From-SVN: r173654
parent 41a58a92
2011-05-11 Revital Eres <revital.eres@linaro.org>
* ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
enters the branch create an anti edge in the opposite direction
to prevent the creation of reg-moves.
* modulo-sched.c: Adjust comment to reflect the fact we are
scheduling closing branch.
(PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
(stage_count): New field in struct partial_schedule.
(calculate_stage_count): New function.
(normalize_sched_times): Rename to reset_sched_times and handle
incrementing the sched time of the nodes by a constant value
passed as parameter.
(duplicate_insns_of_cycles): Skip closing branch.
(sms_schedule_by_order): Schedule closing branch.
(ps_insn_find_column): Handle closing branch.
(sms_schedule): Call reset_sched_times and adjust the code to
support scheduling of the closing branch.
(ps_insert_empty_row): Update calls to normalize_sched_times
and rotate_partial_schedule functions.
2011-05-11 Richard Guenther <rguenther@suse.de> 2011-05-11 Richard Guenther <rguenther@suse.de>
PR middle-end/48953 PR middle-end/48953
......
...@@ -197,6 +197,11 @@ create_ddg_dep_from_intra_loop_link (ddg_ptr g, ddg_node_ptr src_node, ...@@ -197,6 +197,11 @@ create_ddg_dep_from_intra_loop_link (ddg_ptr g, ddg_node_ptr src_node,
} }
} }
/* If a true dep edge enters the branch create an anti edge in the
opposite direction to prevent the creation of reg-moves. */
if ((DEP_TYPE (link) == REG_DEP_TRUE) && JUMP_P (dest_node->insn))
create_ddg_dep_no_link (g, dest_node, src_node, ANTI_DEP, REG_DEP, 1);
latency = dep_cost (link); latency = dep_cost (link);
e = create_ddg_edge (src_node, dest_node, t, dt, latency, distance); e = create_ddg_edge (src_node, dest_node, t, dt, latency, distance);
add_edge_to_ddg (g, e); add_edge_to_ddg (g, e);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment