libFirm
Member node

Computes the address of a compound type member given the base address of an instance of the compound type. More...

Enumerations

enum  n_Member { n_Member_ptr, n_Member_max = n_Member_ptr }
 Input numbers for Member node. More...
 

Functions

ir_nodenew_rd_Member (dbg_info *dbgi, ir_node *block, ir_node *irn_ptr, ir_entity *entity)
 Construct a Member node. More...
 
ir_nodenew_r_Member (ir_node *block, ir_node *irn_ptr, ir_entity *entity)
 Construct a Member node. More...
 
ir_nodenew_d_Member (dbg_info *dbgi, ir_node *irn_ptr, ir_entity *entity)
 Construct a Member node. More...
 
ir_nodenew_Member (ir_node *irn_ptr, ir_entity *entity)
 Construct a Member node. More...
 
int is_Member (const ir_node *node)
 Test if node is a Member. More...
 
ir_nodeget_Member_ptr (const ir_node *node)
 Returns ptr input of a Member node. More...
 
void set_Member_ptr (ir_node *node, ir_node *ptr)
 Sets ptr input of a Member node. More...
 
ir_entityget_Member_entity (const ir_node *node)
 Returns entity attribute of a Member node. More...
 
void set_Member_entity (ir_node *node, ir_entity *entity)
 Sets entity attribute of a Member node. More...
 
ir_opget_op_Member (void)
 Returns opcode for Member nodes. More...
 

Variables

ir_opop_Member
 Member opcode. More...
 

Detailed Description

Computes the address of a compound type member given the base address of an instance of the compound type.

A Member node must only produce a NULL pointer if the ptr input is NULL.

Enumeration Type Documentation

enum n_Member

Input numbers for Member node.

Enumerator
n_Member_ptr 

pointer to object to select from

n_Member_max 

Definition at line 2199 of file nodes.h.

Function Documentation

ir_entity* get_Member_entity ( const ir_node node)

Returns entity attribute of a Member node.

Definition at line 3275 of file gen_irnode.c.

ir_node* get_Member_ptr ( const ir_node node)

Returns ptr input of a Member node.

Definition at line 1491 of file gen_irnode.c.

ir_op* get_op_Member ( void  )

Returns opcode for Member nodes.

Definition at line 1501 of file gen_irnode.c.

References op_Member.

int is_Member ( const ir_node node)

Test if node is a Member.

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

Definition at line 3270 of file gen_irnode.c.

ir_node* new_d_Member ( dbg_info dbgi,
ir_node irn_ptr,
ir_entity entity 
)

Construct a Member node.

Parameters
dbgiA pointer to debug information.
irn_ptrptr
entityentity which is selected

Definition at line 1479 of file gen_irnode.c.

References current_ir_graph, get_cur_block(), IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), and new_rd_Member().

Referenced by new_Member().

ir_node* new_Member ( ir_node irn_ptr,
ir_entity entity 
)

Construct a Member node.

Parameters
irn_ptrptr
entityentity which is selected

Definition at line 1486 of file gen_irnode.c.

References new_d_Member().

ir_node* new_r_Member ( ir_node block,
ir_node irn_ptr,
ir_entity entity 
)

Construct a Member node.

Parameters
blockThe IR block the node belongs to.
irn_ptrptr
entityentity which is selected

Definition at line 1474 of file gen_irnode.c.

References new_rd_Member().

ir_node* new_rd_Member ( dbg_info dbgi,
ir_node block,
ir_node irn_ptr,
ir_entity entity 
)

Construct a Member node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_ptrptr
entityentity which is selected

Definition at line 1458 of file gen_irnode.c.

References get_irn_irg(), mode_P, new_ir_node(), op_Member, optimize_node(), and verify_new_node().

Referenced by new_d_Member(), and new_r_Member().

void set_Member_entity ( ir_node node,
ir_entity entity 
)

Sets entity attribute of a Member node.

Definition at line 3280 of file gen_irnode.c.

void set_Member_ptr ( ir_node node,
ir_node ptr 
)

Sets ptr input of a Member node.

Definition at line 1496 of file gen_irnode.c.

References op_Member.

Variable Documentation

ir_op* op_Member

Member opcode.

Definition at line 2256 of file nodes.h.

Referenced by get_op_Member(), new_rd_Member(), set_Member_ptr(), and set_typeconst_type().