GCC Middle and Back End API Reference
sched_deps_info_def Struct Reference

#include <sched-int.h>

Data Fields

void(* compute_jump_reg_dependencies )(rtx, regset)
void(* start_insn )(rtx)
void(* finish_insn )(void)
void(* start_lhs )(rtx)
void(* finish_lhs )(void)
void(* start_rhs )(rtx)
void(* finish_rhs )(void)
void(* note_reg_set )(int)
void(* note_reg_clobber )(int)
void(* note_reg_use )(int)
void(* note_mem_dep )(rtx mem1, rtx mem2, rtx insn2, ds_t ds)
void(* note_dep )(rtx insn, ds_t ds)
unsigned int use_cselib: 1
unsigned int use_deps_list: 1
unsigned int generate_spec_deps: 1

Field Documentation

void(* sched_deps_info_def::compute_jump_reg_dependencies)(rtx, regset)
     Called when computing dependencies for a JUMP_INSN.  This function
     should store the set of registers that must be considered as set by
     the jump in the regset.  
void(* sched_deps_info_def::finish_insn)(void)
     Finish analyzing insn.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::finish_lhs)(void)
     Finish analyzing insn LHS.  
void(* sched_deps_info_def::finish_rhs)(void)
     Finish analyzing insn RHS.  
unsigned int sched_deps_info_def::generate_spec_deps
     Generate data and control speculative dependencies.
     Requires USE_DEPS_LIST set.  

Referenced by dep_cost_1().

void(* sched_deps_info_def::note_dep)(rtx insn, ds_t ds)
     Note a dependence of type DS from the INSN.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::note_mem_dep)(rtx mem1, rtx mem2, rtx insn2, ds_t ds)
     Note memory dependence of type DS between MEM1 and MEM2 (which is
     in the INSN2).  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::note_reg_clobber)(int)
     Note clobber of the register.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::note_reg_set)(int)
     Note set of the register.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::note_reg_use)(int)
     Note use of the register.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::start_insn)(rtx)
     Start analyzing insn.  

Referenced by init_deps_reg_last().

void(* sched_deps_info_def::start_lhs)(rtx)
     Start analyzing insn LHS (Left Hand Side).  
void(* sched_deps_info_def::start_rhs)(rtx)
     Start analyzing insn RHS (Right Hand Side).  
unsigned int sched_deps_info_def::use_cselib
     Nonzero if we should use cselib for better alias analysis.  This
     must be 0 if the dependency information is used after sched_analyze
     has completed, e.g. if we're using it to initialize state for successor
     blocks in region scheduling.  

Referenced by chain_to_prev_insn_p(), and sched_analyze_2().

unsigned int sched_deps_info_def::use_deps_list
     If set, generate links between instruction as DEPS_LIST.
     Otherwise, generate usual INSN_LIST links.  

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