* @file
* @brief Entry point to the representation of procedure code -- internal header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRGRAPH_T_H
#define FIRM_IR_IRGRAPH_T_H
set_irp_callee_info_state(s);
}
-static inline irg_inline_property get_irg_inline_property_(const ir_graph *irg)
-{
- return irg->inline_property;
-}
-
-static inline void set_irg_inline_property_(ir_graph *irg, irg_inline_property s)
-{
- irg->inline_property = s;
-}
-
-static inline mtp_additional_properties get_irg_additional_properties_(const ir_graph *irg)
-{
- if (irg->additional_properties & mtp_property_inherited)
- return get_method_additional_properties(get_entity_type(irg->ent));
- return irg->additional_properties;
-}
-
-static inline void set_irg_additional_properties_(ir_graph *irg, mtp_additional_properties mask)
-{
- irg->additional_properties = mask & ~mtp_property_inherited;
-}
-
-static inline void add_irg_additional_properties_(ir_graph *irg, mtp_additional_properties flag)
-{
- mtp_additional_properties prop = irg->additional_properties;
-
- if (prop & mtp_property_inherited)
- prop = get_method_additional_properties(get_entity_type(irg->ent));
- irg->additional_properties = prop | flag;
-}
-
static inline void set_irg_link_(ir_graph *irg, void *thing)
{
irg->link = thing;
return irg->fp_model;
}
-static inline void set_irg_state_(ir_graph *irg, ir_graph_state_t state)
+static inline int irg_is_constrained_(const ir_graph *irg,
+ ir_graph_constraints_t constraints)
+{
+ return (irg->constraints & constraints) == constraints;
+}
+
+static inline void add_irg_properties_(ir_graph *irg,
+ ir_graph_properties_t props)
{
- irg->state = (ir_graph_state_t) (irg->state | state);
+ irg->properties |= props;
}
-static inline void clear_irg_state_(ir_graph *irg, ir_graph_state_t state)
+static inline void clear_irg_properties_(ir_graph *irg,
+ ir_graph_properties_t props)
{
- irg->state = (ir_graph_state_t) (irg->state & ~state);
+ irg->properties &= ~props;
}
-static inline int is_irg_state_(const ir_graph *irg, ir_graph_state_t state)
+static inline int irg_has_properties_(const ir_graph *irg,
+ ir_graph_properties_t props)
{
- return (irg->state & state) == state;
+ return (irg->properties & props) == props;
}
/**
#define set_irg_pinned(irg, p) set_irg_pinned_(irg, p)
#define get_irg_callee_info_state(irg) get_irg_callee_info_state_(irg)
#define set_irg_callee_info_state(irg, s) set_irg_callee_info_state_(irg, s)
-#define get_irg_inline_property(irg) get_irg_inline_property_(irg)
-#define set_irg_inline_property(irg, s) set_irg_inline_property_(irg, s)
#define get_irg_additional_properties(irg) get_irg_additional_properties_(irg)
#define set_irg_additional_properties(irg, m) set_irg_additional_properties_(irg, m)
#define set_irg_additional_property(irg, f) set_irg_additional_property_(irg, f)
#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)
+#define irg_is_constrained(irg, constraints) irg_is_constrained_(irg, constraints)
+#define add_irg_properties(irg, props) add_irg_properties_(irg, props)
+#define clear_irg_properties(irg, props) clear_irg_properties_(irg, props)
+#define irg_has_properties(irg, props) irg_has_properties_(irg, props)
#endif