r131212 - in /branches/sel-sched-branch/gcc: Ch...
abel@gcc.gnu.org
abel@gcc.gnu.org
Fri Dec 28 11:27:00 GMT 2007
Author: abel
Date: Fri Dec 28 11:27:47 2007
New Revision: 131212
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131212
Log:
* config/ia64/ia64.c (ia64_speculate_insn): Use ds_get_speculation_types
when determining whether we need to change the pattern.
* sched-int.h (LUID_BY_UID): New accessor macro.
* sched-rgn.c (compute_block_dependences): Do not call add_branch_dependences
for selective scheduling.
(free_rgn_deps): Tidy.
* sel-sched-ir.c (vinsn_attach, vinsn_detach): Export.
(find_in_hash_vect{,_1}): Rename to find_in_history_vect{,_1}.
Rewrite to use a history vector.
(insert_in_hash_vect): Likewise. Rename to insert_in_history_vect.
(init_expr): Change CHANGED_ON parameter to be a history vector.
Update all callers.
(merge_expr_data): Update for history vectors.
(clear_expr): Likewise.
(free_first_time_insn_data): Handle INSN_ORIGINATORS.
(is_ineligible_successor): Do not check the path for back edges.
(bb_ends_ebb_p, clear_outdated_rtx_info): Tidy.
* sel-sched-ir.h (enum local_trans_type): New.
(struct expr_history_def_1, expr_history_def): New.
(struct _expr): Rename changed_on_insns vector to history_of_changes.
Make it of expr_history_def type.
(EXPR_CHANGED_ON_INSNS): Rename to EXPR_HISTORY_OF_CHANGES.
(struct _sel_insn_data): Fix comments. New field originators.
(SID_BY_UID, INSN_ORIGINATORS, INSN_ORIGINATORS_BY_UID): New accessor
macros.
* sel-sched.c (un_substitute): Mark as unused.
(apply_spec_to_expr): Inline to ...
(speculate_expr): ... here. Change return value to int.
Do not copy a pattern when no changes were made.
(un_speculate): Mark as unused.
(undo_transformations): Perform unspeculation and unsubstitution
by looking into the history vector.
(moveup_rhs): Add PTRANS_TYPE parameter, adjust all callers. Return
the type of transformation being done. Assert that we don't do
speculation and substitution on the same insn.
(moveup_set_rhs): Record the performed transformation into the history
vector of an expression.
(current_copies, current_originators): New static variables.
(generate_bookkeeping_insn): Record the generated insn in
current_copies. Always set SCHED_TIMES of a bookkeeping insn to 0.
(fill_insns): Clear current_* bitmaps before move_op.
When some bookkeeping insns were generated, allocate INSN_ORIGINATORS
for them and set it to the copy of current_originators.
(move_op): Add dest parameter. Pass it explicitly instead of
calculating from original operations. When an original insn was
found, adjust current_copies and current_originators accordingly.
(sel_region_init): Initialize current_* bitmaps.
(sel_region_finish): Free them.
Modified:
branches/sel-sched-branch/gcc/ChangeLog.sel-sched
branches/sel-sched-branch/gcc/config/ia64/ia64.c
branches/sel-sched-branch/gcc/sched-int.h
branches/sel-sched-branch/gcc/sched-rgn.c
branches/sel-sched-branch/gcc/sel-sched-ir.c
branches/sel-sched-branch/gcc/sel-sched-ir.h
branches/sel-sched-branch/gcc/sel-sched.c
More information about the Gcc-cvs
mailing list