- ir_type *type; /**< Type of the allocated object. */
- ir_where_alloc where; /**< stack, heap or other managed part of memory */
+ ir_where_alloc where; /**< stack, heap or other managed part of memory */
+ ir_type *type; /**< Type of the allocated object. */
typedef struct {
except_attr exc; /**< The exception attribute. MUST be the first one. */
ir_mode *res_mode; /**< Result mode for the division. */
typedef struct {
except_attr exc; /**< The exception attribute. MUST be the first one. */
ir_mode *res_mode; /**< Result mode for the division. */
op_pin_state pin_state; /**< the pin state for operations that might generate a exception */
ident *asm_text; /**< The inline assembler text. */
ir_asm_constraint *inputs; /**< Input constraints. */
op_pin_state pin_state; /**< the pin state for operations that might generate a exception */
ident *asm_text; /**< The inline assembler text. */
ir_asm_constraint *inputs; /**< Input constraints. */
struct ir_node {
/* ------- Basics of the representation ------- */
firm_kind kind; /**< Distinguishes this node from others. */
struct ir_node {
/* ------- Basics of the representation ------- */
firm_kind kind; /**< Distinguishes this node from others. */
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_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. */
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
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
anchor_start, /**< start node of this ir_graph */
anchor_end_reg, /**< end node of this ir_graph */
anchor_end_except, /**< end node of this ir_graph */
anchor_start, /**< start node of this ir_graph */
anchor_end_reg, /**< end node of this ir_graph */
anchor_end_except, /**< end node of this ir_graph */
- anchor_frame, /**< method's frame */
- anchor_globals, /**< pointer to the data segment containing all
- globals as well as global procedures. */
+ anchor_initial_exec, /**< methods initial control flow */
+ anchor_frame, /**< methods frame */
anchor_tls, /**< pointer to the thread local storage containing all
thread local data. */
anchor_initial_mem, /**< initial memory of this graph */
anchor_tls, /**< pointer to the thread local storage containing all
thread local data. */
anchor_initial_mem, /**< initial memory of this graph */
ir_entity *ent; /**< The entity of this procedure, i.e.,
the type of the procedure and the
class it belongs to. */
ir_entity *ent; /**< The entity of this procedure, i.e.,
the type of the procedure and the
class it belongs to. */
ir_node *current_block; /**< Current block for newly gen_*()-erated ir_nodes. */
struct obstack *extbb_obst; /**< The obstack for extended basic block info. */
ir_node *current_block; /**< Current block for newly gen_*()-erated ir_nodes. */
struct obstack *extbb_obst; /**< The obstack for extended basic block info. */
/* -- Fields for graph properties -- */
irg_inline_property inline_property; /**< How to handle inlineing. */
unsigned additional_properties; /**< Additional graph properties. */
/* -- Fields for graph properties -- */
irg_inline_property inline_property; /**< How to handle inlineing. */
unsigned additional_properties; /**< Additional graph properties. */
have fields and procedures. */
ir_type *tls_type; /**< The thread local storage type. Must be a struct as it can
only have fields. */
have fields and procedures. */
ir_type *tls_type; /**< The thread local storage type. Must be a struct as it can
only have fields. */
ir_type **types; /**< A list of all types in the ir. */
ir_mode **modes; /**< A list of all modes in the ir. */
ir_op **opcodes; /**< A list of all opcodes in the ir. */
ir_type **types; /**< A list of all types in the ir. */
ir_mode **modes; /**< A list of all modes in the ir. */
ir_op **opcodes; /**< A list of all opcodes in the ir. */