libFirm 1.20
|
Computes the address of a entity of a compound type given the base address of an instance of the compound type. More...
Enumerations | |
enum | n_Sel { n_Sel_mem, n_Sel_ptr, n_Sel_max = n_Sel_ptr } |
Input numbers for Sel node. More... | |
Functions | |
ir_node * | new_rd_simpleSel (dbg_info *db, ir_node *block, ir_node *store, ir_node *objptr, ir_entity *ent) |
Constructor for a simpleSel node. | |
ir_node * | new_r_simpleSel (ir_node *block, ir_node *store, ir_node *objptr, ir_entity *ent) |
Constructor for a simpleSel node. | |
ir_node * | new_d_simpleSel (dbg_info *db, ir_node *store, ir_node *objptr, ir_entity *ent) |
Constructor for a simpleSel node. | |
ir_node * | new_simpleSel (ir_node *store, ir_node *objptr, ir_entity *ent) |
Constructor for a simpelSel node. | |
ir_node ** | get_Sel_index_arr (ir_node *node) |
Returns index inputs of Sel node node as array. | |
int | get_Sel_n_indexs (const ir_node *node) |
Returns number of index inputs of Sel node node . | |
ir_node * | get_Sel_index (const ir_node *node, int pos) |
Returns value of index input pos of Sel node node . | |
void | set_Sel_index (ir_node *node, int pos, ir_node *index) |
Sets index as index input pos of Sel node node . | |
ir_node * | new_rd_Sel (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_entity *entity) |
Construct a Sel node. | |
ir_node * | new_r_Sel (ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_entity *entity) |
Construct a Sel node. | |
ir_node * | new_d_Sel (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_entity *entity) |
Construct a Sel node. | |
ir_node * | new_Sel (ir_node *irn_mem, ir_node *irn_ptr, int arity, ir_node *const *in, ir_entity *entity) |
Construct a Sel node. | |
int | is_Sel (const ir_node *node) |
Test if node is a Sel. | |
ir_node * | get_Sel_mem (const ir_node *node) |
Returns mem input of a Sel node. | |
void | set_Sel_mem (ir_node *node, ir_node *mem) |
Sets mem input of a Sel node. | |
ir_node * | get_Sel_ptr (const ir_node *node) |
Returns ptr input of a Sel node. | |
void | set_Sel_ptr (ir_node *node, ir_node *ptr) |
Sets ptr input of a Sel node. | |
ir_entity * | get_Sel_entity (const ir_node *node) |
Returns entity attribute of a Sel node. | |
void | set_Sel_entity (ir_node *node, ir_entity *entity) |
Sets entity attribute of a Sel node. | |
ir_op * | get_op_Sel (void) |
Returns opcode for Sel nodes. | |
Variables | |
ir_op * | op_Sel |
Sel opcode. |
Computes the address of a entity of a compound type given the base address of an instance of the compound type.
Optimisations assume that a Sel node can only produce a NULL pointer if the ptr input was NULL.
ir_op* get_op_Sel | ( | void | ) |
Returns opcode for Sel nodes.
Returns value of index input pos
of Sel node node
.
int get_Sel_n_indexs | ( | const ir_node * | node | ) |
Returns number of index inputs of Sel node node
.
int is_Sel | ( | const ir_node * | node | ) |
Test if node is a Sel.
ir_node* new_d_Sel | ( | dbg_info * | dbgi, |
ir_node * | irn_mem, | ||
ir_node * | irn_ptr, | ||
int | arity, | ||
ir_node *const * | in, | ||
ir_entity * | entity | ||
) |
Construct a Sel node.
dbgi | A pointer to debug information. |
irn_mem | memory dependency |
irn_ptr | pointer to object to select from |
arity | size of additional inputs array |
in | additional inputs |
entity | entity which is selected |
Constructor for a simpleSel node.
This is a shortcut for the new_d_Sel() constructor. To be used for Sel nodes that do not select from an array, i.e., have no index inputs. It adds the two parameters 0, NULL.
*db | A pointer for debug information. |
*store | The memory in which the object the entity should be selected from is allocated. |
*objptr | The object from that the Sel operation selects a single attribute out. |
*ent | The entity to select. |
ir_node* new_r_Sel | ( | ir_node * | block, |
ir_node * | irn_mem, | ||
ir_node * | irn_ptr, | ||
int | arity, | ||
ir_node *const * | in, | ||
ir_entity * | entity | ||
) |
Construct a Sel node.
block | The IR block the node belongs to. |
irn_mem | memory dependency |
irn_ptr | pointer to object to select from |
arity | size of additional inputs array |
in | additional inputs |
entity | entity which is selected |
Constructor for a simpleSel node.
This is a shortcut for the new_d_Sel() constructor. To be used for Sel nodes that do not select from an array, i.e., have no index inputs. It adds the two parameters 0, NULL.
*block | The IR block the node belongs to. |
*store | The memory in which the object the entity should be selected from is allocated. |
*objptr | The object from that the Sel operation selects a single attribute out. |
*ent | The entity to select. |
ir_node* new_rd_Sel | ( | dbg_info * | dbgi, |
ir_node * | block, | ||
ir_node * | irn_mem, | ||
ir_node * | irn_ptr, | ||
int | arity, | ||
ir_node *const * | in, | ||
ir_entity * | entity | ||
) |
Construct a Sel node.
dbgi | A pointer to debug information. |
block | The IR block the node belongs to. |
irn_mem | memory dependency |
irn_ptr | pointer to object to select from |
arity | size of additional inputs array |
in | additional inputs |
entity | entity which is selected |
ir_node* new_rd_simpleSel | ( | dbg_info * | db, |
ir_node * | block, | ||
ir_node * | store, | ||
ir_node * | objptr, | ||
ir_entity * | ent | ||
) |
Constructor for a simpleSel node.
This is a shortcut for the new_rd_Sel() constructor. To be used for Sel nodes that do not select from an array, i.e., have no index inputs. It adds the two parameters 0, NULL.
*db | A pointer for debug information. |
*block | The IR block the node belongs to. |
*store | The memory in which the object the entity should be selected from is allocated. |
*objptr | The object from that the Sel operation selects a single attribute out. |
*ent | The entity to select. |
ir_node* new_Sel | ( | ir_node * | irn_mem, |
ir_node * | irn_ptr, | ||
int | arity, | ||
ir_node *const * | in, | ||
ir_entity * | entity | ||
) |
Construct a Sel node.
irn_mem | memory dependency |
irn_ptr | pointer to object to select from |
arity | size of additional inputs array |
in | additional inputs |
entity | entity which is selected |
Constructor for a simpelSel node.
This is a shortcut for the new_Sel() constructor. To be used for Sel nodes that do not select from an array, i.e., have no index inputs. It adds the two parameters 0, NULL.
*store | The memory in which the object the entity should be selected from is allocated. |
*objptr | The object from that the Sel operation selects a single attribute out. |
*ent | The entity to select. |
Sets index
as index input pos
of Sel node node
.