|
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.