GCC Middle and Back End API Reference
partial_schedule Struct Reference
Collaboration diagram for partial_schedule:

Data Fields

int ii
int history
ps_insn_ptrrows
vec< ps_reg_move_inforeg_moves
int * rows_length
int min_cycle
int max_cycle
ddg_ptr g
int stage_count

Detailed Description

   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.  

Field Documentation

ddg_ptr partial_schedule::g
int partial_schedule::history
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

The documentation for this struct was generated from the following file: