libFirm 1.20
Sync node

The Sync operation unifies several partial memory blocks. More...

Functions

ir_node ** get_Sync_preds_arr (ir_node *node)
 Returns all predecessors of Sync node node as array.
int get_Sync_n_preds (const ir_node *node)
 Returns number of predecessors of Sync node node.
ir_nodeget_Sync_pred (const ir_node *node, int pos)
 Returns predecessor number pos of Sync node node.
void set_Sync_pred (ir_node *node, int pos, ir_node *pred)
 Sets value pred as predecessor number pos of Sync node node.
void add_Sync_pred (ir_node *node, ir_node *pred)
 Adds pred to predecessor list of Sync node node.
void del_Sync_n (ir_node *n, int i)
 Removes predecessor i from Sync n.
ir_nodenew_rd_Sync (dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in)
 Construct a Sync node.
ir_nodenew_r_Sync (ir_node *block, int arity, ir_node *const *in)
 Construct a Sync node.
ir_nodenew_d_Sync (dbg_info *dbgi, int arity, ir_node *const *in)
 Construct a Sync node.
ir_nodenew_Sync (int arity, ir_node *const *in)
 Construct a Sync node.
int is_Sync (const ir_node *node)
 Test if node is a Sync.
ir_opget_op_Sync (void)
 Returns opcode for Sync nodes.

Variables

ir_opop_Sync
 Sync opcode.

Detailed Description

The Sync operation unifies several partial memory blocks.

These blocks have to be pairwise disjunct or the values in common locations have to be identical. This operation allows to specify all operations that eventually need several partial memory blocks as input with a single entrance by unifying the memories with a preceding Sync operation.


Function Documentation

void add_Sync_pred ( ir_node node,
ir_node pred 
)

Adds pred to predecessor list of Sync node node.

void del_Sync_n ( ir_node n,
int  i 
)

Removes predecessor i from Sync n.

ir_op* get_op_Sync ( void  )

Returns opcode for Sync nodes.

int get_Sync_n_preds ( const ir_node node)

Returns number of predecessors of Sync node node.

ir_node* get_Sync_pred ( const ir_node node,
int  pos 
)

Returns predecessor number pos of Sync node node.

ir_node** get_Sync_preds_arr ( ir_node node)

Returns all predecessors of Sync node node as array.

int is_Sync ( const ir_node node)

Test if node is a Sync.

Returns:
1 if the node is a Sync node, 0 otherwise
ir_node* new_d_Sync ( dbg_info dbgi,
int  arity,
ir_node *const *  in 
)

Construct a Sync node.

Parameters:
dbgiA pointer to debug information.
aritysize of additional inputs array
inadditional inputs
ir_node* new_r_Sync ( ir_node block,
int  arity,
ir_node *const *  in 
)

Construct a Sync node.

Parameters:
blockThe IR block the node belongs to.
aritysize of additional inputs array
inadditional inputs
ir_node* new_rd_Sync ( dbg_info dbgi,
ir_node block,
int  arity,
ir_node *const *  in 
)

Construct a Sync node.

Parameters:
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
aritysize of additional inputs array
inadditional inputs
ir_node* new_Sync ( int  arity,
ir_node *const *  in 
)

Construct a Sync node.

Parameters:
aritysize of additional inputs array
inadditional inputs
void set_Sync_pred ( ir_node node,
int  pos,
ir_node pred 
)

Sets value pred as predecessor number pos of Sync node node.


Variable Documentation

Sync opcode.

Definition at line 359 of file opcodes.h.