libFirm 1.20
hook_entry_t Struct Reference

a hook entry More...

#include <irhooks.h>

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

Detailed Description

a hook entry

Definition at line 87 of file irhooks.h.


Field Documentation

This hook is called after a Div/Mod by a constant value was replaced.

Definition at line 163 of file irhooks.h.

This hook is called after a Mul was replaced by a series of Shift and Add/Sub operations.

Definition at line 160 of file irhooks.h.

void(* hook_entry_t::_hook_dead_node_elim)(void *context, ir_graph *irg, int start)

This hook is called, when dead node elimination is started/stopped.

Definition at line 148 of file irhooks.h.

This hook is called, when a node is substituted during dead node elimination.

Definition at line 151 of file irhooks.h.

This hook is called before a graph is freed.

Definition at line 117 of file irhooks.h.

This hook is called, before am ir_op is destroyed.

Definition at line 94 of file irhooks.h.

This hook is called after a call was detected as const call.

Definition at line 157 of file irhooks.h.

void(* hook_entry_t::_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.

Definition at line 154 of file irhooks.h.

void(* hook_entry_t::_hook_inline)(void *context, ir_node *call, ir_graph *irg)

This hook is called, before a graph is inlined.

Definition at line 139 of file irhooks.h.

This hook is called before an block walk is started.

Definition at line 126 of file irhooks.h.

This hook is called before an irg walk is started.

Definition at line 120 of file irhooks.h.

This hook is called before an block wise irg walk is started.

Definition at line 123 of file irhooks.h.

void(* hook_entry_t::_hook_lower)(void *context, ir_node *node)

This hook is called, before a node is lowered.

Definition at line 136 of file irhooks.h.

void(* hook_entry_t::_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.

Definition at line 129 of file irhooks.h.

This hook is called after a new entity was created.

Definition at line 169 of file irhooks.h.

This hook is called, after a new graph was created and before the first block on this graph is build.

Definition at line 114 of file irhooks.h.

This hook is called, after a new ir_op was created.

Definition at line 91 of file irhooks.h.

This hook is called after a new mode was registered.

Definition at line 166 of file irhooks.h.

void(* hook_entry_t::_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.

Definition at line 97 of file irhooks.h.

This hook is called after a new type was created.

Definition at line 172 of file irhooks.h.

void(* hook_entry_t::_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.

Definition at line 175 of file irhooks.h.

This hook is called, after a commutative node was normalized.

Definition at line 110 of file irhooks.h.

void(* hook_entry_t::_hook_reassociate)(void *context, int start)

This hook is called, when reassociation is started/stopped.

Definition at line 133 of file irhooks.h.

void(* hook_entry_t::_hook_replace)(void *context, ir_node *old_node, ir_node *new_node)

This hook is called, before a node is replaced (exchange()) by another.

Definition at line 104 of file irhooks.h.

void(* hook_entry_t::_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.

Definition at line 100 of file irhooks.h.

This hook is called, before a node is replaced due to strength reduction.

Definition at line 145 of file irhooks.h.

void(* hook_entry_t::_hook_tail_rec)(void *context, ir_graph *irg, int n_calls)

This hook is called, before tail recursion is applied to a graph.

Definition at line 142 of file irhooks.h.

This hook is called, before a node is changed into an Id node.

Definition at line 107 of file irhooks.h.

the context for every hook

Definition at line 179 of file irhooks.h.

union { ... } hook_entry_t::hook

hook

struct hook_entry* hook_entry_t::next

needed for chaining

Definition at line 182 of file irhooks.h.


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