GCC Middle and Back End API Reference
|
Data Fields | |
int | ii |
int | history |
ps_insn_ptr * | rows |
vec< ps_reg_move_info > | reg_moves |
int * | rows_length |
int | min_cycle |
int | max_cycle |
ddg_ptr | g |
int | stage_count |
Holds the partial schedule as an array of II rows. Each entry of the array points to a linked list of PS_INSNs, which represents the instructions that are scheduled for that row.
ddg_ptr partial_schedule::g |
Referenced by apply_reg_moves(), and extend_node_sched_params().
int partial_schedule::history |
int partial_schedule::ii |
Referenced by apply_reg_moves(), find_max_dv_min_mob(), print_partial_schedule(), remove_node_from_ps(), and sms_schedule_by_order().
int partial_schedule::max_cycle |
The latest absolute cycle of an insn in the partial schedule.
Referenced by sms_schedule_by_order().
int partial_schedule::min_cycle |
The earliest absolute cycle of an insn in the partial schedule.
Referenced by sms_schedule_by_order().
vec<ps_reg_move_info> partial_schedule::reg_moves |
All the moves added for this partial schedule. Index X has a ps_insn id of X + g->num_nodes.
ps_insn_ptr* partial_schedule::rows |
rows[i] points to linked list of insns scheduled in row i (0<=i<ii).
Referenced by add_node_to_ps(), apply_reg_moves(), find_max_dv_min_mob(), free_partial_schedule(), print_partial_schedule(), and sms_schedule_by_order().
int* partial_schedule::rows_length |
rows_length[i] holds the number of instructions in the row. It is used only (as an optimization) to back off quickly from trying to schedule a node in a full row; that is, to avoid running through futile DFA state transitions.
Referenced by add_node_to_ps(), remove_node_from_ps(), and sms_schedule_by_order().
int partial_schedule::stage_count |