libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Pin node

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 3052 of file nodes.h.

Function Documentation

ir_op* get_op_Pin ( void  )

Returns opcode for Pin nodes.

Definition at line 2085 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 2075 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 3364 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 2063 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 2070 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 2058 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 2043 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 2080 of file gen_irnode.c.

Variable Documentation

ir_op* op_Pin

Pin opcode.

Definition at line 3100 of file nodes.h.

Referenced by get_op_Pin(), and new_rd_Pin().