loopinfo_cf = 4, /**< Loop information constructed for control flow only. */
loopinfo_inter = 8, /**< Loop information for interprocedural view. */
- loopinfo_for_firmjni = 16, /**< A hack for firmjni: all enums must differ as they
- are used in a switch. */
-
/** IntRAprocedural loop information constructed and valid. */
- loopinfo_consistent = loopinfo_constructed | loopinfo_for_firmjni | loopinfo_valid,
+ loopinfo_consistent = loopinfo_constructed | loopinfo_valid,
/** IntRAprocedural loop information constructed and invalid. */
- loopinfo_inconsistent = loopinfo_constructed | loopinfo_for_firmjni,
+ loopinfo_inconsistent = loopinfo_constructed,
/** IntERprocedural loop information constructed and valid. */
loopinfo_ip_consistent = loopinfo_constructed | loopinfo_inter | loopinfo_valid,
* if 2 parties try to use the flags.
*/
enum ir_resources_enum_t {
+ /* local (irg) resources */
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_ENTITY_LINK = 1 << 5 /**< IR-entity 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. */
+
+ /* masks */
+ IR_RESOURCE_LOCAL_MASK = 0x00FF, /**< Mask for all local resources. */
+ IR_RESOURCE_GLOBAL_MASK = 0xFF00 /**< Mask for all global resources. */
};
typedef unsigned ir_resources_t;