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

Data Fields

struct haifa_saved_datanext
struct delay_pairdelay_pair
void * fe_saved_data
void * be_saved_data
int clock_var
int last_clock_var
struct ready_list ready
state_t curr_state
rtx last_scheduled_insn
rtx last_nondebug_scheduled_insn
int cycle_issued_insns
struct sched_block_state sched_block
int q_size
rtxinsn_queue
vec< dep_treplacement_deps
vec< int > replace_apply
vec< dep_tnext_cycle_deps
vec< int > next_cycle_apply

Detailed Description

   A structure to record enough data to allow us to backtrack the scheduler to
   a previous state.  

Field Documentation

void* haifa_saved_data::be_saved_data
     Data used by the backend.  
int haifa_saved_data::clock_var
     Copies of global state.  
state_t haifa_saved_data::curr_state
int haifa_saved_data::cycle_issued_insns
struct delay_pair* haifa_saved_data::delay_pair
     Backtracking is associated with scheduling insns that have delay slots.
     DELAY_PAIR points to the structure that contains the insns involved, and
     the number of cycles between them.  

Referenced by save_backtrack_point().

void* haifa_saved_data::fe_saved_data
     Data used by the frontend (e.g. sched-ebb or sched-rgn).  
rtx* haifa_saved_data::insn_queue
int haifa_saved_data::last_clock_var
rtx haifa_saved_data::last_nondebug_scheduled_insn
rtx haifa_saved_data::last_scheduled_insn
struct haifa_saved_data* haifa_saved_data::next
     Next entry on the list.  
vec<int> haifa_saved_data::next_cycle_apply
vec<dep_t> haifa_saved_data::next_cycle_deps
     A copy of the next-cycle replacement vectors at the time of the backtrack
     point.  
int haifa_saved_data::q_size
     We don't need to save q_ptr, as its value is arbitrary and we can set it
     to 0 when restoring.  
struct ready_list haifa_saved_data::ready
vec<int> haifa_saved_data::replace_apply
vec<dep_t> haifa_saved_data::replacement_deps
     Describe pattern replacements that occurred since this backtrack point
     was queued.  
struct sched_block_state haifa_saved_data::sched_block
     Copies of state used in the inner loop of schedule_block.  

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