X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firtypes.h;h=f94017ac60b6c1dc58d6468fb16577e4463ae1fb;hb=03a0b8a1e06fb7837b2a99ec64eefeddeeddfa7a;hp=81b5dcb568fe3922a7b76bbc95cd190ad61ab125;hpb=533faf35a5f51a6ac3548e7f64aadd7b59b371d3;p=libfirm diff --git a/ir/ir/irtypes.h b/ir/ir/irtypes.h index 81b5dcb56..f94017ac6 100644 --- a/ir/ir/irtypes.h +++ b/ir/ir/irtypes.h @@ -128,7 +128,6 @@ typedef struct { unsigned is_matured:1; /**< If set, all in-nodes of the block are fixed. */ unsigned is_dead:1; /**< If set, the block is dead (and could be replace by a Bad. */ unsigned is_mb_head:1; /**< Set if this block is a macroblock head. */ - unsigned has_label:1; /**< Set if this block has a label assigned. */ unsigned marked:1; /**< Can be set/unset to temporary mark a block. */ ir_node **graph_arr; /**< An array to store all parameters. */ /* Attributes holding analyses information */ @@ -146,7 +145,7 @@ typedef struct { ir_extblk *extblk; /**< The extended basic block this block belongs to. */ ir_region *region; /**< The immediate structural region this block belongs to. */ unsigned mb_depth; /**< The macroblock depth: A distance from the macroblock header */ - ir_label_t label; /**< The block label if assigned. */ + ir_entity *entity; /**< entitiy representing this block */ ir_node *phis; /**< The list of Phi nodes in this block. */ struct list_head succ_head; /**< A list head for all successor edges of a block. */ @@ -154,9 +153,9 @@ typedef struct { /** Cond attributes. */ typedef struct { - cond_kind kind; /**< flavor of Cond */ - long default_proj; /**< only for non-binary Conds: biggest Proj number, i.e. the one used for default. */ - cond_jmp_predicate pred; /**< only for binary Conds: The jump predication. */ + cond_kind kind; /**< flavor of Cond */ + long default_proj; /**< only for non-binary Conds: biggest Proj number, i.e. the one used for default. */ + cond_jmp_predicate jmp_pred; /**< only for binary Conds: The jump predication. */ } cond_attr; /** Const attributes. */ @@ -174,7 +173,7 @@ typedef struct { /** Sel attributes. */ typedef struct { - ir_entity *ent; /**< entity to select */ + ir_entity *entity; /**< entity to select */ } sel_attr; /** Exception attributes. */ @@ -190,7 +189,7 @@ typedef struct { /** Call attributes. */ typedef struct { except_attr exc; /**< the exception attribute. MUST be the first one. */ - ir_type *cld_tp; /**< type of called procedure */ + ir_type *type; /**< type of called procedure */ ir_entity ** callee_arr; /**< result of callee analysis */ } call_attr; @@ -198,7 +197,7 @@ typedef struct { typedef struct { except_attr exc; /**< the exception attribute. MUST be the first one. */ ir_builtin_kind kind; /**< kind of the called builtin procedure */ - ir_type *builtin_tp; /**< type of called builtin procedure */ + ir_type *type; /**< type of called builtin procedure */ } builtin_attr; /** Alloc attributes. */ @@ -234,7 +233,7 @@ typedef struct { /** Cast attributes. */ typedef struct { - ir_type *totype; /**< Type of the casted node. */ + ir_type *type; /**< Type of the casted node. */ } cast_attr; /** Load attributes. */ @@ -242,7 +241,7 @@ typedef struct { except_attr exc; /**< The exception attribute. MUST be the first one. */ unsigned volatility:1; /**< The volatility of this Load operation. */ unsigned aligned:1; /**< The align attribute of this Load operation. */ - ir_mode *load_mode; /**< The mode of this Load operation. */ + ir_mode *mode; /**< The mode of this Load operation. */ } load_attr; /** Store attributes. */ @@ -274,7 +273,7 @@ typedef struct { /** CopyB attribute. */ typedef struct { except_attr exc; /**< The exception attribute. MUST be the first one. */ - ir_type *data_type; /**< Type of the copied entity. */ + ir_type *type; /**< Type of the copied entity. */ } copyb_attr; /** Bound attribute. */ @@ -290,7 +289,7 @@ typedef struct { /** Div/Mod/DivMod/Quot attribute. */ typedef struct { except_attr exc; /**< The exception attribute. MUST be the first one. */ - ir_mode *res_mode; /**< Result mode for the division. */ + ir_mode *resmode; /**< Result mode for the division. */ char no_remainder; /**< Set, if known that a division can be done without a remainder. */ } divmod_attr; @@ -366,6 +365,7 @@ struct ir_node { void *link; /**< To attach additional information to the node, e.g. used during optimization to link to nodes that shall replace a node. */ + long node_nr; /**< A globally unique node number for each node. */ /* ------- Fields for optimizations / analysis information ------- */ ir_def_use_edge *out; /**< array of def-use edges. */ struct dbg_info *dbi; /**< A pointer to information for debug support. */ @@ -373,8 +373,6 @@ struct ir_node { #ifdef DEBUG_libfirm unsigned out_valid : 1; unsigned flags : 31; - long node_nr; /**< A unique node number for each node to make output - readable. */ #endif /* ------- For analyses -------- */ ir_loop *loop; /**< the loop the node is in. Access routines in irloop.h */ @@ -452,6 +450,7 @@ struct ir_graph { unsigned additional_properties; /**< Additional graph properties. */ /* -- Fields indicating different states of irgraph -- */ + unsigned state; irg_phase_state phase_state; /**< Compiler phase. */ op_pin_state irg_pinned_state; /**< Flag for status of nodes. */ irg_outs_state outs_state; /**< Out edges. */ @@ -567,9 +566,7 @@ struct ir_prog { ir_exc_region_t last_region_nr; /**< The last exception region number that was assigned. */ ir_label_t last_label_nr; /**< The highest label number for generating unique labels. */ int max_irg_idx; /**< highest unused irg index */ -#ifdef DEBUG_libfirm long max_node_nr; /**< to generate unique numbers for nodes. */ -#endif #ifndef NDEBUG ir_resources_t reserved_resources; /**< Bitset for tracking used global resources. */ #endif