libFirm

Pin the value of the node node in the current block. More...

Enumerations

enum  n_Pin { n_Pin_op, n_Pin_max = n_Pin_op }
 Input numbers for Pin node. More...
 

Functions

ir_nodenew_rd_Pin (dbg_info *dbgi, ir_node *block, ir_node *irn_op)
 Construct a Pin node. More...
 
ir_nodenew_r_Pin (ir_node *block, ir_node *irn_op)
 Construct a Pin node. More...
 
ir_nodenew_d_Pin (dbg_info *dbgi, ir_node *irn_op)
 Construct a Pin node. More...
 
ir_nodenew_Pin (ir_node *irn_op)
 Construct a Pin node. More...
 
int is_Pin (const ir_node *node)
 Test if node is a Pin. More...
 
ir_nodeget_Pin_op (const ir_node *node)
 Returns op input of a Pin node. More...
 
void set_Pin_op (ir_node *node, ir_node *op)
 Sets op input of a Pin node. More...
 
ir_opget_op_Pin (void)
 Returns opcode for Pin nodes. More...
 

Variables

ir_opop_Pin
 Pin opcode. More...
 

Detailed Description

Pin the value of the node node in the current block.

No users of the Pin node can float above the Block of the Pin. The node cannot float behind this block. Often used to Pin the NoMem node.

Enumeration Type Documentation

enum n_Pin

Input numbers for Pin node.

Enumerator
n_Pin_op 

value which is pinned

n_Pin_max 

Definition at line 3009 of file nodes.h.

Function Documentation

ir_op* get_op_Pin ( void  )

Returns opcode for Pin nodes.

Definition at line 2086 of file gen_irnode.c.

References op_Pin.

ir_node* get_Pin_op ( const ir_node node)

Returns op input of a Pin node.

Definition at line 2076 of file gen_irnode.c.

int is_Pin ( const ir_node node)

Test if node is a Pin.

Returns
1 if the node is a Pin node, 0 otherwise

Definition at line 3365 of file gen_irnode.c.

ir_node* new_d_Pin ( dbg_info dbgi,
ir_node irn_op 
)

Construct a Pin node.

Parameters
dbgiA pointer to debug information.
irn_opop

Definition at line 2064 of file gen_irnode.c.

References current_ir_graph, get_cur_block(), IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), and new_rd_Pin().

Referenced by new_Pin().

ir_node* new_Pin ( ir_node irn_op)

Construct a Pin node.

Parameters
irn_opop

Definition at line 2071 of file gen_irnode.c.

References new_d_Pin().

ir_node* new_r_Pin ( ir_node block,
ir_node irn_op 
)

Construct a Pin node.

Parameters
blockThe IR block the node belongs to.
irn_opop

Definition at line 2059 of file gen_irnode.c.

References new_rd_Pin().

ir_node* new_rd_Pin ( dbg_info dbgi,
ir_node block,
ir_node irn_op 
)

Construct a Pin node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_opop

Definition at line 2044 of file gen_irnode.c.

References get_irn_irg(), get_irn_mode(), new_ir_node(), op_Pin, optimize_node(), and verify_new_node().

Referenced by new_d_Pin(), and new_r_Pin().

void set_Pin_op ( ir_node node,
ir_node op 
)

Sets op input of a Pin node.

Definition at line 2081 of file gen_irnode.c.

References op_Pin.

Variable Documentation

ir_op* op_Pin

Pin opcode.

Definition at line 3057 of file nodes.h.

Referenced by get_op_Pin(), new_rd_Pin(), set_Pin_op(), and set_typeconst_type().