+/**
+ * Graph State
+ */
+typedef enum {
+ IR_GRAPH_STATE_KEEP_MUX = 1U << 0, /**< should perform no further optimisations on Mux nodes */
+ IR_GRAPH_STATE_ARCH_DEP = 1U << 1, /**< should not construct more nodes which irarch potentially breaks down */
+ IR_GRAPH_STATE_BCONV_ALLOWED = 1U << 2, /**< Conv(mode_b) to Iu is allowed as set command */
+} ir_graph_state_t;
+
+/** set some state flags on the graph (this does not clear the other flags) */
+FIRM_API void set_irg_state(ir_graph *irg, ir_graph_state_t state);
+/** clear some state flags of the graph */
+FIRM_API void clear_irg_state(ir_graph *irg, ir_graph_state_t state);
+/** query wether a set of graph state flags are activated */
+FIRM_API int is_irg_state(const ir_graph *irg, ir_graph_state_t state);
+