irg_outs_state get_irg_outs_state(const ir_graph *irg);
void set_irg_outs_inconsistent(ir_graph *irg);
+/** state: extended basic block state. */
+typedef enum {
+ extblk_none = 0, /**< No extended basic block information is constructed. Default. */
+ extblk_valid = 1, /**< Extended basic block information is valid. */
+ extblk_invalid = 2 /**< Extended basic block information is constructed but invalid. */
+} irg_extblk_state;
+irg_extblk_state get_irg_extblk_state(const ir_graph *irg);
+void set_irg_extblk_inconsistent(ir_graph *irg);
+
/** state: dom_state
* Signals the state of the dominator / post dominator information.
*/
irg->outs_state = outs_inconsistent;
}
+static INLINE irg_extblk_state
+_get_irg_extblk_state(const ir_graph *irg) {
+ return irg->extblk_state;
+}
+
+static INLINE void
+_set_irg_extblk_inconsistent(ir_graph *irg) {
+ if (irg->extblk_state == extblk_valid)
+ irg->extblk_state = extblk_invalid;
+}
+
static INLINE irg_dom_state
_get_irg_dom_state(const ir_graph *irg) {
return irg->dom_state;
#define get_irg_pinned(irg) _get_irg_pinned(irg)
#define get_irg_outs_state(irg) _get_irg_outs_state(irg)
#define set_irg_outs_inconsistent(irg) _set_irg_outs_inconsistent(irg)
+#define get_irg_extblk_state(irg) _get_irg_extblk_state(irg)
+#define set_irg_extblk_inconsistent(irg) _set_irg_extblk_inconsistent(irg)
#define get_irg_dom_state(irg) _get_irg_dom_state(irg)
#define get_irg_postdom_state(irg) _get_irg_postdom_state(irg)
#define set_irg_doms_inconsistent(irg) _set_irg_doms_inconsistent(irg)