/** Sel attributes. */
typedef struct {
- ir_entity *ent; /**< entity to select */
+ ir_entity *entity; /**< entity to select */
} sel_attr;
/** Exception attributes. */
/** 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;
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. */
/** Cast attributes. */
typedef struct {
- ir_type *totype; /**< Type of the casted node. */
+ ir_type *type; /**< Type of the casted node. */
} cast_attr;
/** Load attributes. */
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. */
/** 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. */
/** 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;
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. */
#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 */
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