typedef struct {
/* General attributes */
ir_graph *irg; /**< The graph this block belongs to. */
- unsigned long block_visited; /**< For the walker that walks over all blocks. */
+ ir_visited_t block_visited; /**< For the walker that walks over all blocks. */
/* Attributes private to construction: */
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. */
ir_op *op; /**< The Opcode of this node. */
ir_mode *mode; /**< The Mode of this node. */
struct ir_node **in; /**< The array of predecessors / operands. */
- unsigned long visited; /**< The visited counter for walks of the graph. */
+ ir_visited_t visited; /**< The visited counter for walks of the graph. */
void *link; /**< To attach additional information to the node, e.g.
used while construction to link Phi0 nodes and
during optimization to link to nodes that
ir_class_cast_state class_cast_state; /**< Kind of cast operations in code. */
irg_extblk_info_state extblk_state; /**< State of extended basic block info. */
exec_freq_state execfreq_state; /**< Execution frequency state. */
- ir_address_taken_computed_state adr_taken_state; /**< Address taken state. */
+ ir_entity_usage_computed_state entity_usage_state;
unsigned mem_disambig_opt; /**< Options for the memory disambiguator. */
unsigned fp_model; /**< floating point model of the graph. */
ir_loop *l; /**< For callgraph analysis. */
/* -- Fields for Walking the graph -- */
- unsigned long visited; /**< this flag is an identifier for
+ ir_visited_t visited; /**< this flag is an identifier for
ir walk. it will be incremented
every time someone walks through
the graph */
- unsigned long block_visited; /**< same as visited, for a complete block */
+ ir_visited_t block_visited; /**< same as visited, for a complete block */
+
+ ir_visited_t self_visited; /**< visited flag of the irg */
unsigned estimated_node_count; /**< estimated number of nodes in this graph,
updated after every walk */
exec_freq_state execfreq_state; /**< The state of execution frequency information */
loop_nesting_depth_state lnd_state; /**< The state of loop nesting depth information. */
ir_class_cast_state class_cast_state; /**< The state of cast operations in code. */
- ir_address_taken_computed_state globals_adr_taken_state; /**< Address taken state of the globals. */
+ ir_entity_usage_computed_state globals_entity_usage_state;
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. */