libFirm
Loading...
Searching...
No Matches

Functions

ir_nodenew_rd_Phi_loop (dbg_info *db, ir_node *block, int arity, ir_node *in[])
 Constructor for memory Phi with keep-alive edge.
 
ir_nodenew_r_Phi_loop (ir_node *block, int arity, ir_node *in[])
 Constructor for memory Phi with keep-alive edge.
 
ir_nodenew_d_Phi_loop (dbg_info *db, int arity, ir_node *in[])
 Constructor for memory Phi with keep-alive edge.
 
ir_nodenew_Phi_loop (int arity, ir_node *in[])
 Constructor for memory Phi with keep-alive edge.
 
ir_nodeget_Phi_next (const ir_node *phi)
 Returns the next element of a block phi list.
 
void set_Phi_next (ir_node *phi, ir_node *next)
 Sets the next link of a block Phi list.
 
ir_nodenew_rd_Phi (dbg_info *dbgi, ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
 Construct a Phi node.
 
ir_nodenew_r_Phi (ir_node *block, int arity, ir_node *const *in, ir_mode *mode)
 Construct a Phi node.
 
ir_nodenew_d_Phi (dbg_info *dbgi, int arity, ir_node *const *in, ir_mode *mode)
 Construct a Phi node.
 
ir_nodenew_Phi (int arity, ir_node *const *in, ir_mode *mode)
 Construct a Phi node.
 
int is_Phi (const ir_node *node)
 Test if node is a Phi.
 
int get_Phi_n_preds (ir_node const *node)
 Get the number of Phi preds.
 
ir_nodeget_Phi_pred (ir_node const *node, int pos)
 Get the Phi pred with index pos.
 
void set_Phi_pred (ir_node *node, int pos, ir_node *pred)
 Set the Phi pred with index pos.
 
ir_node ** get_Phi_pred_arr (ir_node *node)
 Get an array of all Phi preds.
 
int get_Phi_loop (const ir_node *node)
 Returns loop attribute of a Phi node.
 
void set_Phi_loop (ir_node *node, int loop)
 Sets loop attribute of a Phi node.
 
ir_opget_op_Phi (void)
 Returns opcode for Phi nodes.
 

Variables

ir_opop_Phi
 Phi opcode.
 

Detailed Description

Choose a value based on control flow. A phi node has 1 input for each predecessor of its block. If a block is entered from its nth predecessor all phi nodes produce their nth input as result.

Function Documentation

◆ get_op_Phi()

ir_op * get_op_Phi ( void )

Returns opcode for Phi nodes.

◆ get_Phi_loop()

int get_Phi_loop ( const ir_node * node)

Returns loop attribute of a Phi node.

◆ get_Phi_n_preds()

int get_Phi_n_preds ( ir_node const * node)

Get the number of Phi preds.

◆ get_Phi_next()

ir_node * get_Phi_next ( const ir_node * phi)

Returns the next element of a block phi list.

◆ get_Phi_pred()

ir_node * get_Phi_pred ( ir_node const * node,
int pos )

Get the Phi pred with index pos.

◆ get_Phi_pred_arr()

ir_node ** get_Phi_pred_arr ( ir_node * node)

Get an array of all Phi preds.

◆ is_Phi()

int is_Phi ( const ir_node * node)

Test if node is a Phi.

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

◆ new_d_Phi()

ir_node * new_d_Phi ( dbg_info * dbgi,
int arity,
ir_node *const * in,
ir_mode * mode )

Construct a Phi node.

Parameters
dbgiA pointer to debug information.
aritysize of additional inputs array
inadditional inputs
modemode of the operations result

◆ new_d_Phi_loop()

ir_node * new_d_Phi_loop ( dbg_info * db,
int arity,
ir_node * in[] )

Constructor for memory Phi with keep-alive edge.

◆ new_Phi()

ir_node * new_Phi ( int arity,
ir_node *const * in,
ir_mode * mode )

Construct a Phi node.

Parameters
aritysize of additional inputs array
inadditional inputs
modemode of the operations result

◆ new_Phi_loop()

ir_node * new_Phi_loop ( int arity,
ir_node * in[] )

Constructor for memory Phi with keep-alive edge.

◆ new_r_Phi()

ir_node * new_r_Phi ( ir_node * block,
int arity,
ir_node *const * in,
ir_mode * mode )

Construct a Phi node.

Parameters
blockThe IR block the node belongs to.
aritysize of additional inputs array
inadditional inputs
modemode of the operations result

◆ new_r_Phi_loop()

ir_node * new_r_Phi_loop ( ir_node * block,
int arity,
ir_node * in[] )

Constructor for memory Phi with keep-alive edge.

◆ new_rd_Phi()

ir_node * new_rd_Phi ( dbg_info * dbgi,
ir_node * block,
int arity,
ir_node *const * in,
ir_mode * mode )

Construct a Phi node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
aritysize of additional inputs array
inadditional inputs
modemode of the operations result

◆ new_rd_Phi_loop()

ir_node * new_rd_Phi_loop ( dbg_info * db,
ir_node * block,
int arity,
ir_node * in[] )

Constructor for memory Phi with keep-alive edge.

◆ set_Phi_loop()

void set_Phi_loop ( ir_node * node,
int loop )

Sets loop attribute of a Phi node.

◆ set_Phi_next()

void set_Phi_next ( ir_node * phi,
ir_node * next )

Sets the next link of a block Phi list.

◆ set_Phi_pred()

void set_Phi_pred ( ir_node * node,
int pos,
ir_node * pred )

Set the Phi pred with index pos.

Variable Documentation

◆ op_Phi

ir_op* op_Phi

Phi opcode.

Definition at line 3061 of file nodes.h.