X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph_t.h;h=3d1a1917a951a1d783975255771718d26221d01b;hb=5c1ded548038459acf350812d820d8bbd7901ab0;hp=bf53ff06c08bb0365244b053fd73bf42fd45e27c;hpb=533faf35a5f51a6ac3548e7f64aadd7b59b371d3;p=libfirm diff --git a/ir/ir/irgraph_t.h b/ir/ir/irgraph_t.h index bf53ff06c..3d1a1917a 100644 --- a/ir/ir/irgraph_t.h +++ b/ir/ir/irgraph_t.h @@ -250,7 +250,7 @@ _set_irg_current_block(ir_graph *irg, ir_node *node) { static inline ir_entity * _get_irg_entity(const ir_graph *irg) { - assert(irg && irg->ent); + assert(irg); return irg->ent; } @@ -446,6 +446,21 @@ _get_irg_fp_model(const ir_graph *irg) { return irg->fp_model; } +static inline void _set_irg_state(ir_graph *irg, ir_graph_state_t state) +{ + irg->state |= state; +} + +static inline void _clear_irg_state(ir_graph *irg, ir_graph_state_t state) +{ + irg->state &= ~state; +} + +static inline int _is_irg_state(const ir_graph *irg, ir_graph_state_t state) +{ + return (irg->state & state) == state; +} + /** * Allocates a new idx in the irg for the node and adds the irn to the idx -> irn map. * @param irg The graph. @@ -589,5 +604,8 @@ _get_interprocedural_view(void) { #define get_irg_estimated_node_cnt(irg) _get_irg_estimated_node_cnt(irg) #define get_irg_fp_model(irg) _get_irg_fp_model(irg) #define get_idx_irn(irg, idx) _get_idx_irn(irg, idx) +#define set_irg_state(irg, state) _set_irg_state(irg, state) +#define clear_irg_state(irg, state) _clear_irg_state(irg, state) +#define is_irg_state(irg, state) _is_irg_state(irg, state) #endif