+typedef enum ir_resources_t {
+ /* local (irg) resources */
+ IR_RESOURCE_NONE = 0,
+ IR_RESOURCE_BLOCK_VISITED = 1 << 0, /**< Block visited flags are used. */
+ IR_RESOURCE_BLOCK_MARK = 1 << 1, /**< Block mark bits are used. */
+ IR_RESOURCE_IRN_VISITED = 1 << 2, /**< IR-node visited flags are used. */
+ IR_RESOURCE_IRN_LINK = 1 << 3, /**< IR-node link fields are used. */
+ IR_RESOURCE_LOOP_LINK = 1 << 4, /**< IR-loop link fields are used. */
+ IR_RESOURCE_PHI_LIST = 1 << 5, /**< Block Phi lists are used. */
+ IR_RESOURCE_IRG_LINK = 1 << 6, /**< IR-graph link fields used. */
+
+ /* global (irp) resources */
+ IR_RESOURCE_ENTITY_LINK = 1 << 8, /**< IR-entity link fields are used. */
+ IR_RESOURCE_TYPE_VISITED = 1 << 9, /**< type visited flags */
+
+ /* masks */
+ IR_RESOURCE_LOCAL_MASK = 0x00FF, /**< Mask for all local resources. */
+ IR_RESOURCE_GLOBAL_MASK = 0xFF00 /**< Mask for all global resources. */
+} ir_resources_t;
+ENUM_BITSET(ir_resources_t)
+