1 #ifndef _EXT_GRS_BASE_H_
2 #define _EXT_GRS_BASE_H_
10 * Activates the /ext/grs module.
11 * Must be called once \b before init_firm()
12 * if the ext/grs module of Firm should be used.
14 * @remark Call this function \b before init_firm()
16 void ext_grs_activate(void);
18 /** Finalize the /ext/grs module. */
19 void ext_grs_finalize(void);
22 * get an ir_op by its name
24 ir_op *ext_grs_lookup_op(char *op_name);
27 * get an ir_mode by its name
29 ir_mode *ext_grs_lookup_mode(char *name);
32 * announce that firm op o1 inherits from firm op o2
34 void ext_grs_appoint_heir(ir_op *o1, ir_op *o2);
37 * Setup internal inheritance related data strucutres.
38 * @note must be called after one or more invocations of
39 * ext_grs_appoint_heir()
41 void ext_grs_inheritance_mature(void);
44 * Enables subgraph matching for a given ir graph.\
47 void ext_grs_enable_irg(ir_graph *irg);
49 * Disables subgraph matching for a given irg, several internal
50 * data structures will be freed (needed if there is not enough
51 * memory to keep the data for all present ir graphs simultaneously.
53 void ext_grs_disable_irg(ir_graph *irg);
56 #endif /* _EXT_GRS_BASE_H_ */