Data Fields |
union { |
void(* _hook_new_ir_op )(void *context, ir_op *op) |
| This hook is called, after a new ir_op was created.
|
void(* _hook_free_ir_op )(void *context, ir_op *op) |
| This hook is called, before am ir_op is destroyed.
|
void(* _hook_new_node )(void *context, ir_graph *graph, ir_node *node) |
| This hook is called, after a new IR-node was created and before it is optimized.
|
void(* _hook_set_irn_n )(void *context, ir_node *src, int pos, ir_node *tgt, ir_node *old_tgt) |
| This hook is called, before a node input was changed.
|
void(* _hook_replace )(void *context, ir_node *old_node, ir_node *new_node) |
| This hook is called, before a node is replaced (exchange()) by another.
|
void(* _hook_turn_into_id )(void *context, ir_node *node) |
| This hook is called, before a node is changed into an Id node.
|
void(* _hook_normalize )(void *context, ir_node *node) |
| This hook is called, after a commutative node was normalized.
|
void(* _hook_new_graph )(void *context, ir_graph *irg, ir_entity *ent) |
| This hook is called, after a new graph was created and before the first block on this graph is build.
|
void(* _hook_free_graph )(void *context, ir_graph *irg) |
| This hook is called before a graph is freed.
|
void(* _hook_irg_walk )(void *context, ir_graph *irg, generic_func *pre, generic_func *post) |
| This hook is called before an irg walk is started.
|
void(* _hook_irg_walk_blkwise )(void *context, ir_graph *irg, generic_func *pre, generic_func *post) |
| This hook is called before an block wise irg walk is started.
|
void(* _hook_irg_block_walk )(void *context, ir_graph *irg, ir_node *node, generic_func *pre, generic_func *post) |
| This hook is called before an block walk is started.
|
void(* _hook_merge_nodes )(void *context, ir_node **new_node_array, int new_num_entries, ir_node **old_node_array, int old_num_entries, hook_opt_kind opt) |
| This hook is called, when debug info must be merged.
|
void(* _hook_reassociate )(void *context, int start) |
| This hook is called, when reassociation is started/stopped.
|
void(* _hook_lower )(void *context, ir_node *node) |
| This hook is called, before a node is lowered.
|
void(* _hook_inline )(void *context, ir_node *call, ir_graph *irg) |
| This hook is called, before a graph is inlined.
|
void(* _hook_tail_rec )(void *context, ir_graph *irg, int n_calls) |
| This hook is called, before tail recursion is applied to a graph.
|
void(* _hook_strength_red )(void *context, ir_graph *irg, ir_node *node) |
| This hook is called, before a node is replaced due to strength reduction.
|
void(* _hook_dead_node_elim )(void *context, ir_graph *irg, int start) |
| This hook is called, when dead node elimination is started/stopped.
|
void(* _hook_dead_node_elim_subst )(void *context, ir_graph *irg, ir_node *old, ir_node *nw) |
| This hook is called, when a node is substituted during dead node elimination.
|
void(* _hook_if_conversion )(void *context, ir_graph *irg, ir_node *phi, int pos, ir_node *mux, if_result_t reason) |
| This hook is called after if conversion has run.
|
void(* _hook_func_call )(void *context, ir_graph *irg, ir_node *call) |
| This hook is called after a call was detected as const call.
|
void(* _hook_arch_dep_replace_mul_with_shifts )(void *context, ir_node *irn) |
| This hook is called after a Mul was replaced by a series of Shift and Add/Sub operations.
|
void(* _hook_arch_dep_replace_division_by_const )(void *context, ir_node *irn) |
| This hook is called after a Div/Mod by a constant value was replaced.
|
void(* _hook_new_mode )(void *context, ir_mode *mode) |
| This hook is called after a new mode was registered.
|
void(* _hook_new_entity )(void *context, ir_entity *ent) |
| This hook is called after a new entity was created.
|
void(* _hook_new_type )(void *context, ir_type *tp) |
| This hook is called after a new type was created.
|
void(* _hook_node_info )(void *context, FILE *f, const ir_node *n) |
| This hook is called at the end of the node info dumper to dump additional node info.
|
} | hook |
| hook
|
void * | context |
| the context for every hook
|
struct hook_entry * | next |
| needed for chaining
|
a hook entry
Definition at line 87 of file irhooks.h.