5#ifndef FIRM_IR_IRNODE_H
6#error Do not include nodes.h directly; include irnode.h instead.
146FIRM_API
ir_node *
new_rd_ASM(
dbg_info *dbgi,
ir_node *block,
ir_node * irn_mem,
int arity,
ir_node *
const * in,
ident* text,
size_t n_constraints,
ir_asm_constraint* constraints,
size_t n_clobbers,
ident** clobbers,
ir_cons_flags flags);
206FIRM_API
int get_ASM_n_inputs(
ir_node const *node);
512FIRM_API
unsigned get_Alloc_alignment(
const ir_node *node);
514FIRM_API
void set_Alloc_alignment(
ir_node *node,
unsigned alignment);
863FIRM_API
int get_Block_n_cfgpreds(
ir_node const *node);
965FIRM_API
int get_Builtin_n_params(
ir_node const *node);
1083FIRM_API
int get_Call_n_params(
ir_node const *node);
1574FIRM_API ir_volatility get_CopyB_volatility(
const ir_node *node);
1576FIRM_API
void set_CopyB_volatility(
ir_node *node, ir_volatility volatility);
1705FIRM_API
int get_Div_no_remainder(
const ir_node *node);
1707FIRM_API
void set_Div_no_remainder(
ir_node *node,
int no_remainder);
1822FIRM_API
int get_End_n_keepalives(
ir_node const *node);
2241FIRM_API ir_volatility get_Load_volatility(
const ir_node *node);
2243FIRM_API
void set_Load_volatility(
ir_node *node, ir_volatility volatility);
2246FIRM_API ir_align get_Load_unaligned(
const ir_node *node);
2248FIRM_API
void set_Load_unaligned(
ir_node *node, ir_align unaligned);
3059FIRM_API
void set_Phi_loop(
ir_node *node,
int loop);
3200FIRM_API
unsigned get_Proj_num(
const ir_node *node);
3202FIRM_API
void set_Proj_num(
ir_node *node,
unsigned num);
3363FIRM_API
int get_Return_n_ress(
ir_node const *node);
3920FIRM_API ir_volatility get_Store_volatility(
const ir_node *node);
3922FIRM_API
void set_Store_volatility(
ir_node *node, ir_volatility volatility);
3925FIRM_API ir_align get_Store_unaligned(
const ir_node *node);
3927FIRM_API
void set_Store_unaligned(
ir_node *node, ir_align unaligned);
4088FIRM_API
unsigned get_Switch_n_outs(
const ir_node *node);
4090FIRM_API
void set_Switch_n_outs(
ir_node *node,
unsigned n_outs);
4158FIRM_API
int get_Sync_n_preds(
ir_node const *node);
4230FIRM_API
int get_Tuple_n_preds(
ir_node const *node);
struct dbg_info dbg_info
Source Reference.
const char ident
Identifier.
struct ir_graph ir_graph
Procedure Graph.
struct ir_mode ir_mode
SSA Value mode.
int is_binop(const ir_node *node)
Test if node is a binop.
struct ir_node ir_node
Procedure Graph Node.
ir_relation
Relations for comparing numbers.
ir_cons_flags
constrained flags for memory operations.
struct ir_op ir_op
Node Opcode.
ir_opcode
The opcodes of the libFirm predefined operations.
struct ir_tarval ir_tarval
Target Machine Value.
struct ir_entity ir_entity
Entity.
struct ir_type ir_type
Type.
A input/output constraint attribute.
ir_node * new_d_ASM(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
ir_node * new_r_ASM(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
pn_ASM
Projection numbers for result of ASM node (use for Proj nodes)
ir_node * new_rd_ASM(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
ir_op * get_op_ASM(void)
Returns opcode for ASM nodes.
n_ASM
Input numbers for ASM node.
ir_op * op_ASM
ASM opcode.
ir_node * new_ASM(ir_node *irn_mem, int arity, ir_node *const *in, ident *text, size_t n_constraints, ir_asm_constraint *constraints, size_t n_clobbers, ident **clobbers, ir_cons_flags flags)
Construct an ASM node.
@ pn_ASM_X_regular
control flow when no jump occurs
@ pn_ASM_first_out
first output
@ n_ASM_mem
memory dependency
ir_op * get_op_Add(void)
Returns opcode for Add nodes.
n_Add
Input numbers for Add node.
ir_node * new_d_Add(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
ir_op * op_Add
Add opcode.
ir_node * new_r_Add(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
ir_node * new_Add(ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
ir_node * new_rd_Add(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Add node.
@ n_Add_right
second operand
@ n_Add_left
first operand
ir_op * op_Address
Address opcode.
ir_node * new_r_Address(ir_graph *irg, ir_entity *entity)
Construct an Address node.
ir_node * new_rd_Address(dbg_info *dbgi, ir_graph *irg, ir_entity *entity)
Construct an Address node.
ir_node * new_Address(ir_entity *entity)
Construct an Address node.
ir_op * get_op_Address(void)
Returns opcode for Address nodes.
ir_node * new_d_Address(dbg_info *dbgi, ir_entity *entity)
Construct an Address node.
ir_node * new_rd_Align(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
ir_op * op_Align
Align opcode.
ir_node * new_Align(ir_mode *mode, ir_type *type)
Construct an Align node.
ir_op * get_op_Align(void)
Returns opcode for Align nodes.
ir_node * new_r_Align(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct an Align node.
ir_node * new_d_Align(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct an Align node.
ir_node * new_r_Alloc(ir_node *block, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
ir_op * op_Alloc
Alloc opcode.
ir_node * new_Alloc(ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
ir_op * get_op_Alloc(void)
Returns opcode for Alloc nodes.
n_Alloc
Input numbers for Alloc node.
ir_node * new_d_Alloc(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
pn_Alloc
Projection numbers for result of Alloc node (use for Proj nodes)
ir_node * new_rd_Alloc(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_size, unsigned alignment)
Construct an Alloc node.
@ n_Alloc_mem
memory dependency
@ n_Alloc_size
size of the block in bytes
@ pn_Alloc_M
memory result
@ pn_Alloc_res
pointer to newly allocated memory
n_Anchor
Input numbers for Anchor node.
ir_op * op_Anchor
Anchor opcode.
ir_op * get_op_Anchor(void)
Returns opcode for Anchor nodes.
@ n_Anchor_frame
frame of this ir_graph
@ n_Anchor_end
end node of this ir_graph
@ n_Anchor_start_block
block the start node belongs to
@ n_Anchor_no_mem
the only NoMem node of this ir_graph
@ n_Anchor_initial_mem
initial memory of this ir_graph
@ n_Anchor_end_block
block the end node belongs to
@ n_Anchor_args
argument proj of the start node
@ n_Anchor_start
start node of this ir_graph
ir_op * get_op_And(void)
Returns opcode for And nodes.
ir_node * new_d_And(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
ir_node * new_r_And(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
ir_op * op_And
And opcode.
ir_node * new_And(ir_node *irn_left, ir_node *irn_right)
Construct an And node.
n_And
Input numbers for And node.
ir_node * new_rd_And(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an And node.
@ n_And_left
first operand
@ n_And_right
second operand
ir_op * op_Bad
Bad opcode.
ir_node * new_rd_Bad(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Bad node.
ir_node * new_r_Bad(ir_graph *irg, ir_mode *mode)
Construct a Bad node.
ir_node * new_d_Bad(dbg_info *dbgi, ir_mode *mode)
Construct a Bad node.
ir_op * get_op_Bad(void)
Returns opcode for Bad nodes.
ir_node * new_Bad(ir_mode *mode)
Construct a Bad node.
ir_op * get_op_Bitcast(void)
Returns opcode for Bitcast nodes.
ir_node * new_d_Bitcast(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_node * new_r_Bitcast(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_op * op_Bitcast
Bitcast opcode.
n_Bitcast
Input numbers for Bitcast node.
ir_node * new_Bitcast(ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_node * new_rd_Bitcast(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Bitcast node.
ir_node * new_rd_Block(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
ir_node * new_Block(int arity, ir_node *const *in)
Construct a Block node.
ir_op * get_op_Block(void)
Returns opcode for Block nodes.
ir_op * op_Block
Block opcode.
ir_node * new_r_Block(ir_graph *irg, int arity, ir_node *const *in)
Construct a Block node.
ir_node * new_d_Block(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Block node.
ir_node * new_r_Builtin(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
ir_node * new_d_Builtin(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
ir_node * new_rd_Builtin(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
ir_op * get_op_Builtin(void)
Returns opcode for Builtin nodes.
ir_op * op_Builtin
Builtin opcode.
pn_Builtin
Projection numbers for result of Builtin node (use for Proj nodes)
ir_builtin_kind
Supported libFirm builtins.
ir_node * new_Builtin(ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type)
Construct a Builtin node.
n_Builtin
Input numbers for Builtin node.
@ pn_Builtin_M
memory result
@ n_Builtin_mem
memory dependency
ir_node * new_d_Call(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
ir_node * new_r_Call(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
ir_op * get_op_Call(void)
Returns opcode for Call nodes.
ir_node * new_rd_Call(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
n_Call
Input numbers for Call node.
ir_op * op_Call
Call opcode.
pn_Call
Projection numbers for result of Call node (use for Proj nodes)
ir_node * new_Call(ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_type *type)
Construct a Call node.
@ n_Call_mem
memory dependency
@ n_Call_ptr
pointer to called code
@ pn_Call_T_result
tuple containing all results
@ pn_Call_X_except
control flow when exception occurred
@ pn_Call_X_regular
control flow when no exception occurs
ir_op * op_Cmp
Cmp opcode.
ir_node * new_d_Cmp(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_node * new_Cmp(ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_node * new_r_Cmp(ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
ir_op * get_op_Cmp(void)
Returns opcode for Cmp nodes.
n_Cmp
Input numbers for Cmp node.
ir_node * new_rd_Cmp(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
Construct a Cmp node.
@ n_Cmp_right
second operand
@ n_Cmp_left
first operand
ir_node * new_rd_Cond(dbg_info *dbgi, ir_node *block, ir_node *irn_selector)
Construct a Cond node.
ir_node * new_Cond(ir_node *irn_selector)
Construct a Cond node.
cond_jmp_predicate
A type to express conditional jump predictions.
pn_Cond
Projection numbers for result of Cond node (use for Proj nodes)
n_Cond
Input numbers for Cond node.
ir_node * new_r_Cond(ir_node *block, ir_node *irn_selector)
Construct a Cond node.
ir_op * op_Cond
Cond opcode.
ir_node * new_d_Cond(dbg_info *dbgi, ir_node *irn_selector)
Construct a Cond node.
ir_op * get_op_Cond(void)
Returns opcode for Cond nodes.
@ pn_Cond_false
control flow if operand is "false"
@ pn_Cond_true
control flow if operand is "true"
@ n_Cond_selector
condition parameter
ir_node * new_rd_Confirm(dbg_info *dbgi, ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
ir_node * new_d_Confirm(dbg_info *dbgi, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
ir_op * op_Confirm
Confirm opcode.
n_Confirm
Input numbers for Confirm node.
ir_node * new_r_Confirm(ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
ir_node * new_Confirm(ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
Construct a Confirm node.
ir_op * get_op_Confirm(void)
Returns opcode for Confirm nodes.
@ n_Confirm_value
value to express a constraint for
@ n_Confirm_bound
value to compare against
ir_op * get_op_Const(void)
Returns opcode for Const nodes.
ir_node * new_r_Const(ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
ir_node * new_Const(ir_tarval *tarval)
Construct a Const node.
ir_node * new_rd_Const(dbg_info *dbgi, ir_graph *irg, ir_tarval *tarval)
Construct a Const node.
ir_node * new_d_Const(dbg_info *dbgi, ir_tarval *tarval)
Construct a Const node.
ir_op * op_Const
Const opcode.
ir_node * new_Conv(ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_node * new_d_Conv(dbg_info *dbgi, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_node * new_rd_Conv(dbg_info *dbgi, ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_node * new_r_Conv(ir_node *block, ir_node *irn_op, ir_mode *mode)
Construct a Conv node.
ir_op * get_op_Conv(void)
Returns opcode for Conv nodes.
ir_op * op_Conv
Conv opcode.
n_Conv
Input numbers for Conv node.
n_CopyB
Input numbers for CopyB node.
ir_node * new_d_CopyB(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_op * op_CopyB
CopyB opcode.
ir_op * get_op_CopyB(void)
Returns opcode for CopyB nodes.
ir_node * new_CopyB(ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_node * new_r_CopyB(ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
ir_node * new_rd_CopyB(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
Construct a CopyB node.
@ n_CopyB_mem
memory dependency
@ n_CopyB_dst
destination address
@ n_CopyB_src
source address
ir_op * op_Deleted
Deleted opcode.
ir_op * get_op_Deleted(void)
Returns opcode for Deleted nodes.
n_Div
Input numbers for Div node.
ir_node * new_Div(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
ir_node * new_r_Div(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
ir_node * new_d_Div(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
ir_node * new_rd_Div(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Div node.
ir_op * get_op_Div(void)
Returns opcode for Div nodes.
pn_Div
Projection numbers for result of Div node (use for Proj nodes)
ir_op * op_Div
Div opcode.
@ n_Div_left
first operand
@ n_Div_mem
memory dependency
@ n_Div_right
second operand
@ pn_Div_res
result of computation
@ pn_Div_X_regular
control flow when no exception occurs
@ pn_Div_X_except
control flow when exception occurred
ir_node * new_Dummy(ir_mode *mode)
Construct a Dummy node.
ir_op * op_Dummy
Dummy opcode.
ir_op * get_op_Dummy(void)
Returns opcode for Dummy nodes.
ir_node * new_d_Dummy(dbg_info *dbgi, ir_mode *mode)
Construct a Dummy node.
ir_node * new_rd_Dummy(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
ir_node * new_r_Dummy(ir_graph *irg, ir_mode *mode)
Construct a Dummy node.
ir_op * op_End
End opcode.
ir_op * get_op_End(void)
Returns opcode for End nodes.
ir_node * new_End(int arity, ir_node *const *in)
Construct an End node.
ir_node * new_r_End(ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
ir_node * new_d_End(dbg_info *dbgi, int arity, ir_node *const *in)
Construct an End node.
ir_node * new_rd_End(dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
Construct an End node.
ir_op * op_Eor
Eor opcode.
ir_node * new_rd_Eor(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
ir_node * new_r_Eor(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
ir_op * get_op_Eor(void)
Returns opcode for Eor nodes.
n_Eor
Input numbers for Eor node.
ir_node * new_d_Eor(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
ir_node * new_Eor(ir_node *irn_left, ir_node *irn_right)
Construct an Eor node.
@ n_Eor_left
first operand
@ n_Eor_right
second operand
ir_node * new_rd_Free(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
ir_node * new_r_Free(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
n_Free
Input numbers for Free node.
ir_op * op_Free
Free opcode.
ir_node * new_Free(ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
ir_node * new_d_Free(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr)
Construct a Free node.
ir_op * get_op_Free(void)
Returns opcode for Free nodes.
@ n_Free_ptr
pointer to the object to free
@ n_Free_mem
memory dependency
ir_node * new_r_IJmp(ir_node *block, ir_node *irn_target)
Construct an IJmp node.
ir_op * op_IJmp
IJmp opcode.
ir_node * new_rd_IJmp(dbg_info *dbgi, ir_node *block, ir_node *irn_target)
Construct an IJmp node.
n_IJmp
Input numbers for IJmp node.
ir_op * get_op_IJmp(void)
Returns opcode for IJmp nodes.
ir_node * new_d_IJmp(dbg_info *dbgi, ir_node *irn_target)
Construct an IJmp node.
ir_node * new_IJmp(ir_node *irn_target)
Construct an IJmp node.
@ n_IJmp_target
target address of the jump
ir_op * get_op_Id(void)
Returns opcode for Id nodes.
n_Id
Input numbers for Id node.
@ n_Id_pred
the value which is returned unchanged
ir_node * new_r_Jmp(ir_node *block)
Construct a Jmp node.
ir_node * new_Jmp(void)
Construct a Jmp node.
ir_node * new_rd_Jmp(dbg_info *dbgi, ir_node *block)
Construct a Jmp node.
ir_op * op_Jmp
Jmp opcode.
ir_op * get_op_Jmp(void)
Returns opcode for Jmp nodes.
ir_node * new_d_Jmp(dbg_info *dbgi)
Construct a Jmp node.
ir_node * new_Load(ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
ir_node * new_r_Load(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
pn_Load
Projection numbers for result of Load node (use for Proj nodes)
ir_op * op_Load
Load opcode.
ir_op * get_op_Load(void)
Returns opcode for Load nodes.
n_Load
Input numbers for Load node.
ir_node * new_d_Load(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
ir_node * new_rd_Load(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
Construct a Load node.
@ pn_Load_X_except
control flow when exception occurred
@ pn_Load_res
result of load operation
@ pn_Load_X_regular
control flow when no exception occurs
@ n_Load_mem
memory dependency
@ n_Load_ptr
address to load from
ir_node * new_rd_Member(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
ir_node * new_r_Member(ir_node *block, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
ir_node * new_d_Member(dbg_info *dbgi, ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
ir_node * new_Member(ir_node *irn_ptr, ir_entity *entity)
Construct a Member node.
n_Member
Input numbers for Member node.
ir_op * get_op_Member(void)
Returns opcode for Member nodes.
ir_op * op_Member
Member opcode.
@ n_Member_ptr
pointer to object to select from
ir_op * get_op_Minus(void)
Returns opcode for Minus nodes.
ir_op * op_Minus
Minus opcode.
ir_node * new_rd_Minus(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Minus node.
n_Minus
Input numbers for Minus node.
ir_node * new_Minus(ir_node *irn_op)
Construct a Minus node.
ir_node * new_r_Minus(ir_node *block, ir_node *irn_op)
Construct a Minus node.
ir_node * new_d_Minus(dbg_info *dbgi, ir_node *irn_op)
Construct a Minus node.
ir_node * new_r_Mod(ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
ir_node * new_d_Mod(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
ir_op * get_op_Mod(void)
Returns opcode for Mod nodes.
ir_node * new_rd_Mod(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
pn_Mod
Projection numbers for result of Mod node (use for Proj nodes)
n_Mod
Input numbers for Mod node.
ir_node * new_Mod(ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
Construct a Mod node.
ir_op * op_Mod
Mod opcode.
@ pn_Mod_X_except
control flow when exception occurred
@ pn_Mod_res
result of computation
@ pn_Mod_X_regular
control flow when no exception occurs
@ n_Mod_right
second operand
@ n_Mod_mem
memory dependency
@ n_Mod_left
first operand
n_Mul
Input numbers for Mul node.
ir_op * get_op_Mul(void)
Returns opcode for Mul nodes.
ir_node * new_r_Mul(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
ir_op * op_Mul
Mul opcode.
ir_node * new_rd_Mul(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
ir_node * new_d_Mul(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
ir_node * new_Mul(ir_node *irn_left, ir_node *irn_right)
Construct a Mul node.
@ n_Mul_right
second operand
@ n_Mul_left
first operand
n_Mulh
Input numbers for Mulh node.
ir_node * new_Mulh(ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_op * get_op_Mulh(void)
Returns opcode for Mulh nodes.
ir_node * new_r_Mulh(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_node * new_d_Mulh(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
ir_op * op_Mulh
Mulh opcode.
ir_node * new_rd_Mulh(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Mulh node.
@ n_Mulh_right
second operand
@ n_Mulh_left
first operand
ir_node * new_Mux(ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_op * get_op_Mux(void)
Returns opcode for Mux nodes.
ir_node * new_d_Mux(dbg_info *dbgi, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_node * new_rd_Mux(dbg_info *dbgi, ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
ir_node * new_r_Mux(ir_node *block, ir_node *irn_sel, ir_node *irn_false, ir_node *irn_true)
Construct a Mux node.
n_Mux
Input numbers for Mux node.
ir_op * op_Mux
Mux opcode.
@ n_Mux_false
selected if sel input is false
@ n_Mux_sel
value making the output selection
@ n_Mux_true
selected if sel input is true
ir_node * new_NoMem(void)
Construct a NoMem node.
ir_op * op_NoMem
NoMem opcode.
ir_node * new_d_NoMem(dbg_info *dbgi)
Construct a NoMem node.
ir_op * get_op_NoMem(void)
Returns opcode for NoMem nodes.
ir_node * new_r_NoMem(ir_graph *irg)
Construct a NoMem node.
ir_node * new_rd_NoMem(dbg_info *dbgi, ir_graph *irg)
Construct a NoMem node.
ir_op * get_op_Not(void)
Returns opcode for Not nodes.
ir_node * new_r_Not(ir_node *block, ir_node *irn_op)
Construct a Not node.
ir_node * new_d_Not(dbg_info *dbgi, ir_node *irn_op)
Construct a Not node.
n_Not
Input numbers for Not node.
ir_node * new_rd_Not(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Not node.
ir_op * op_Not
Not opcode.
ir_node * new_Not(ir_node *irn_op)
Construct a Not node.
ir_node * new_d_Offset(dbg_info *dbgi, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
ir_node * new_Offset(ir_mode *mode, ir_entity *entity)
Construct an Offset node.
ir_node * new_rd_Offset(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
ir_node * new_r_Offset(ir_graph *irg, ir_mode *mode, ir_entity *entity)
Construct an Offset node.
ir_op * get_op_Offset(void)
Returns opcode for Offset nodes.
ir_op * op_Offset
Offset opcode.
ir_node * new_rd_Or(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_node * new_d_Or(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_op * get_op_Or(void)
Returns opcode for Or nodes.
ir_node * new_Or(ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
ir_node * new_r_Or(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct an Or node.
n_Or
Input numbers for Or node.
@ n_Or_right
second operand
ir_node * new_Phi(int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_node * new_r_Phi(ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_node * new_d_Phi(dbg_info *dbgi, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_op * get_op_Phi(void)
Returns opcode for Phi nodes.
ir_op * op_Phi
Phi opcode.
ir_node * new_rd_Phi(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
Construct a Phi node.
ir_node * new_Pin(ir_node *irn_op)
Construct a Pin node.
ir_op * get_op_Pin(void)
Returns opcode for Pin nodes.
ir_node * new_r_Pin(ir_node *block, ir_node *irn_op)
Construct a Pin node.
n_Pin
Input numbers for Pin node.
ir_node * new_rd_Pin(dbg_info *dbgi, ir_node *block, ir_node *irn_op)
Construct a Pin node.
ir_op * op_Pin
Pin opcode.
ir_node * new_d_Pin(dbg_info *dbgi, ir_node *irn_op)
Construct a Pin node.
@ n_Pin_op
value which is pinned
ir_node * new_d_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
ir_node * new_r_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
ir_op * op_Proj
Proj opcode.
ir_op * get_op_Proj(void)
Returns opcode for Proj nodes.
ir_node * new_Proj(ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
ir_node * new_rd_Proj(dbg_info *dbgi, ir_node *irn_pred, ir_mode *mode, unsigned num)
Construct a Proj node.
n_Proj
Input numbers for Proj node.
@ n_Proj_pred
the tuple value from which a part is extracted
ir_node * new_rd_Raise(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
ir_op * op_Raise
Raise opcode.
ir_op * get_op_Raise(void)
Returns opcode for Raise nodes.
n_Raise
Input numbers for Raise node.
ir_node * new_Raise(ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
ir_node * new_r_Raise(ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
pn_Raise
Projection numbers for result of Raise node (use for Proj nodes)
ir_node * new_d_Raise(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
Construct a Raise node.
@ n_Raise_exo_ptr
pointer to exception object to be thrown
@ n_Raise_mem
memory dependency
@ pn_Raise_M
memory result
@ pn_Raise_X
control flow to exception handler
n_Return
Input numbers for Return node.
ir_node * new_d_Return(dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
ir_node * new_rd_Return(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
ir_node * new_Return(ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
ir_op * op_Return
Return opcode.
ir_op * get_op_Return(void)
Returns opcode for Return nodes.
ir_node * new_r_Return(ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in)
Construct a Return node.
@ n_Return_mem
memory dependency
ir_op * op_Sel
Sel opcode.
ir_op * get_op_Sel(void)
Returns opcode for Sel nodes.
ir_node * new_d_Sel(dbg_info *dbgi, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
ir_node * new_Sel(ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
ir_node * new_rd_Sel(dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
n_Sel
Input numbers for Sel node.
ir_node * new_r_Sel(ir_node *block, ir_node *irn_ptr, ir_node *irn_index, ir_type *type)
Construct a Sel node.
@ n_Sel_ptr
pointer to array to select from
@ n_Sel_index
index to select
ir_node * new_d_Shl(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
ir_op * get_op_Shl(void)
Returns opcode for Shl nodes.
ir_op * op_Shl
Shl opcode.
n_Shl
Input numbers for Shl node.
ir_node * new_rd_Shl(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
ir_node * new_r_Shl(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
ir_node * new_Shl(ir_node *irn_left, ir_node *irn_right)
Construct a Shl node.
@ n_Shl_right
second operand
@ n_Shl_left
first operand
ir_node * new_d_Shr(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
n_Shr
Input numbers for Shr node.
ir_op * op_Shr
Shr opcode.
ir_op * get_op_Shr(void)
Returns opcode for Shr nodes.
ir_node * new_Shr(ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_node * new_rd_Shr(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
ir_node * new_r_Shr(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shr node.
@ n_Shr_right
second operand
@ n_Shr_left
first operand
ir_node * new_r_Shrs(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
n_Shrs
Input numbers for Shrs node.
ir_node * new_Shrs(ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
ir_op * op_Shrs
Shrs opcode.
ir_op * get_op_Shrs(void)
Returns opcode for Shrs nodes.
ir_node * new_d_Shrs(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
ir_node * new_rd_Shrs(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Shrs node.
@ n_Shrs_left
first operand
@ n_Shrs_right
second operand
ir_node * new_d_Size(dbg_info *dbgi, ir_mode *mode, ir_type *type)
Construct a Size node.
ir_node * new_rd_Size(dbg_info *dbgi, ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
ir_node * new_Size(ir_mode *mode, ir_type *type)
Construct a Size node.
ir_op * get_op_Size(void)
Returns opcode for Size nodes.
ir_op * op_Size
Size opcode.
ir_node * new_r_Size(ir_graph *irg, ir_mode *mode, ir_type *type)
Construct a Size node.
ir_node * new_rd_Start(dbg_info *dbgi, ir_graph *irg)
Construct a Start node.
ir_op * op_Start
Start opcode.
ir_op * get_op_Start(void)
Returns opcode for Start nodes.
pn_Start
Projection numbers for result of Start node (use for Proj nodes)
ir_node * new_r_Start(ir_graph *irg)
Construct a Start node.
ir_node * new_d_Start(dbg_info *dbgi)
Construct a Start node.
ir_node * new_Start(void)
Construct a Start node.
@ pn_Start_P_frame_base
frame base pointer
@ pn_Start_T_args
function arguments
@ pn_Start_M
initial memory
n_Store
Input numbers for Store node.
ir_node * new_r_Store(ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_node * new_Store(ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_op * get_op_Store(void)
Returns opcode for Store nodes.
ir_op * op_Store
Store opcode.
pn_Store
Projection numbers for result of Store node (use for Proj nodes)
ir_node * new_rd_Store(dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
ir_node * new_d_Store(dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_type *type, ir_cons_flags flags)
Construct a Store node.
@ n_Store_mem
memory dependency
@ n_Store_value
value to store
@ n_Store_ptr
address to store to
@ pn_Store_M
memory result
@ pn_Store_X_except
control flow when exception occurred
@ pn_Store_X_regular
control flow when no exception occurs
ir_node * new_rd_Sub(dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_op * get_op_Sub(void)
Returns opcode for Sub nodes.
ir_node * new_Sub(ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_node * new_r_Sub(ir_node *block, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_node * new_d_Sub(dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
Construct a Sub node.
ir_op * op_Sub
Sub opcode.
n_Sub
Input numbers for Sub node.
@ n_Sub_right
second operand
@ n_Sub_left
first operand
ir_node * new_Switch(ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
ir_op * get_op_Switch(void)
Returns opcode for Switch nodes.
ir_node * new_r_Switch(ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
ir_node * new_rd_Switch(dbg_info *dbgi, ir_node *block, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
n_Switch
Input numbers for Switch node.
pn_Switch
Projection numbers for result of Switch node (use for Proj nodes)
ir_op * op_Switch
Switch opcode.
ir_node * new_d_Switch(dbg_info *dbgi, ir_node *irn_selector, unsigned n_outs, ir_switch_table *table)
Construct a Switch node.
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
@ n_Switch_selector
input selector
@ pn_Switch_default
control flow if no other case matches
ir_op * get_op_Sync(void)
Returns opcode for Sync nodes.
ir_node * new_r_Sync(ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
ir_node * new_Sync(int arity, ir_node *const *in)
Construct a Sync node.
ir_node * new_rd_Sync(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Sync node.
ir_node * new_d_Sync(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Sync node.
ir_op * op_Sync
Sync opcode.
ir_node * new_rd_Tuple(dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
ir_node * new_d_Tuple(dbg_info *dbgi, int arity, ir_node *const *in)
Construct a Tuple node.
ir_node * new_Tuple(int arity, ir_node *const *in)
Construct a Tuple node.
ir_op * get_op_Tuple(void)
Returns opcode for Tuple nodes.
ir_node * new_r_Tuple(ir_node *block, int arity, ir_node *const *in)
Construct a Tuple node.
ir_op * op_Tuple
Tuple opcode.
ir_op * op_Unknown
Unknown opcode.
ir_op * get_op_Unknown(void)
Returns opcode for Unknown nodes.
ir_node * new_d_Unknown(dbg_info *dbgi, ir_mode *mode)
Construct an Unknown node.
ir_node * new_rd_Unknown(dbg_info *dbgi, ir_graph *irg, ir_mode *mode)
Construct an Unknown node.
ir_node * new_Unknown(ir_mode *mode)
Construct an Unknown node.
ir_node * new_r_Unknown(ir_graph *irg, ir_mode *mode)
Construct an Unknown node.