libFirm 1.20
|
Choose a value based on control flow. More...
Functions | |
int | is_Phi0 (const ir_node *n) |
Returns 1 if irg in phase phase_building and the Phi has zero predecessors. | |
ir_node ** | get_Phi_preds_arr (ir_node *node) |
Returns all phi predecessors as array. | |
int | get_Phi_n_preds (const ir_node *node) |
Returns number of predecessors of phi node node . | |
ir_node * | get_Phi_pred (const ir_node *node, int pos) |
Returns the predecessor with number pos of phi node node . | |
void | set_Phi_pred (ir_node *node, int pos, ir_node *pred) |
Sets value pred as predecessor number pos of phi node node . | |
ir_node * | get_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_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_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_node * | new_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. | |
ir_op * | get_op_Phi (void) |
Returns opcode for Phi nodes. | |
Variables | |
ir_op * | op_Phi |
Phi opcode. |
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.
ir_op* get_op_Phi | ( | void | ) |
Returns opcode for Phi nodes.
int get_Phi_n_preds | ( | const ir_node * | node | ) |
Returns number of predecessors of phi node node
.
Returns the predecessor with number pos
of phi node node
.
This is the value selected when control flow comes from predecessor pos
of the containing basic block.
int is_Phi | ( | const ir_node * | node | ) |
Test if node is a Phi.
int is_Phi0 | ( | const ir_node * | n | ) |
Returns 1 if irg in phase phase_building and the Phi has zero predecessors.
It's a "Phi0" then.
Construct a Phi node.
dbgi | A pointer to debug information. |
arity | size of additional inputs array |
in | additional inputs |
mode | mode of the operations result |
Construct a Phi node.
arity | size of additional inputs array |
in | additional inputs |
mode | mode of the operations result |
Construct a Phi node.
block | The IR block the node belongs to. |
arity | size of additional inputs array |
in | additional inputs |
mode | mode of the operations result |
ir_node* new_rd_Phi | ( | dbg_info * | dbgi, |
ir_node * | block, | ||
int | arity, | ||
ir_node *const * | in, | ||
ir_mode * | mode | ||
) |
Construct a Phi node.
dbgi | A pointer to debug information. |
block | The IR block the node belongs to. |
arity | size of additional inputs array |
in | additional inputs |
mode | mode of the operations result |
Sets value pred
as predecessor number pos
of phi node node
.