GCC Middle and Back End API Reference
code_motion_path_driver_info_def Struct Reference

Data Fields

int(* on_enter )(insn_t, cmpd_local_params_p, void *, bool)
void(* orig_expr_found )(insn_t, expr_t, cmpd_local_params_p, void *)
bool(* orig_expr_not_found )(insn_t, av_set_t, void *)
void(* merge_succs )(insn_t, insn_t, int, cmpd_local_params_p, void *)
void(* after_merge_succs )(cmpd_local_params_p, void *)
void(* ascend )(insn_t, void *)
void(* at_first_insn )(insn_t, cmpd_local_params_p, void *)
int succ_flags
const char * routine_name

Detailed Description

   Set of hooks and parameters that determine behaviour specific to
   move_op or find_used_regs functions.  

Field Documentation

void(* code_motion_path_driver_info_def::after_merge_succs)(cmpd_local_params_p, void *)
     Function to finalize merge from different successors and possibly
     deallocate temporary data structures used for merging.  
void(* code_motion_path_driver_info_def::ascend)(insn_t, void *)
     Called on the backward stage of recursion to do moveup_expr.
     Used only with move_op_*.  
void(* code_motion_path_driver_info_def::at_first_insn)(insn_t, cmpd_local_params_p, void *)
     Called on the ascending pass, before returning from the current basic
     block or from the whole traversal.  
void(* code_motion_path_driver_info_def::merge_succs)(insn_t, insn_t, int, cmpd_local_params_p, void *)
     Function to merge C_EXPRes from different successors.  
int(* code_motion_path_driver_info_def::on_enter)(insn_t, cmpd_local_params_p, void *, bool)
     Called on enter to the basic block.  
void(* code_motion_path_driver_info_def::orig_expr_found)(insn_t, expr_t, cmpd_local_params_p, void *)
     Called when original expr is found.  
bool(* code_motion_path_driver_info_def::orig_expr_not_found)(insn_t, av_set_t, void *)
     Called while descending current basic block if current insn is not
     the original EXPR we're searching for.  
const char* code_motion_path_driver_info_def::routine_name
     The routine name to print in dumps ("move_op" of "find_used_regs").  
int code_motion_path_driver_info_def::succ_flags
     When processing successors in move_op we need only descend into
     SUCCS_NORMAL successors, while in find_used_regs we need SUCCS_ALL.  

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