libFirm 1.20
Store node

Stores a value into memory (heap or stack). More...

Enumerations

enum  n_Store { n_Store_mem, n_Store_ptr, n_Store_value, n_Store_max = n_Store_value }
 Input numbers for Store node. More...
enum  pn_Store { pn_Store_M, pn_Store_X_regular, pn_Store_X_except, pn_Store_max = pn_Store_X_except }
 Projection numbers for result of Store node (use for Proj nodes) More...

Functions

ir_nodenew_rd_Store (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_cons_flags flags)
 Construct a Store node.
ir_nodenew_r_Store (ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_cons_flags flags)
 Construct a Store node.
ir_nodenew_d_Store (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_cons_flags flags)
 Construct a Store node.
ir_nodenew_Store (ir_node *irn_mem, ir_node *irn_ptr, ir_node *irn_value, ir_cons_flags flags)
 Construct a Store node.
int is_Store (const ir_node *node)
 Test if node is a Store.
ir_nodeget_Store_mem (const ir_node *node)
 Returns mem input of a Store node.
void set_Store_mem (ir_node *node, ir_node *mem)
 Sets mem input of a Store node.
ir_nodeget_Store_ptr (const ir_node *node)
 Returns ptr input of a Store node.
void set_Store_ptr (ir_node *node, ir_node *ptr)
 Sets ptr input of a Store node.
ir_nodeget_Store_value (const ir_node *node)
 Returns value input of a Store node.
void set_Store_value (ir_node *node, ir_node *value)
 Sets value input of a Store node.
ir_volatility get_Store_volatility (const ir_node *node)
 Returns volatility attribute of a Store node.
void set_Store_volatility (ir_node *node, ir_volatility volatility)
 Sets volatility attribute of a Store node.
ir_align get_Store_unaligned (const ir_node *node)
 Returns unaligned attribute of a Store node.
void set_Store_unaligned (ir_node *node, ir_align unaligned)
 Sets unaligned attribute of a Store node.
ir_opget_op_Store (void)
 Returns opcode for Store nodes.

Variables

ir_opop_Store
 Store opcode.

Detailed Description

Stores a value into memory (heap or stack).


Enumeration Type Documentation

enum n_Store

Input numbers for Store node.

Definition at line 3483 of file nodeops.h.

enum pn_Store

Projection numbers for result of Store node (use for Proj nodes)

Enumerator:
pn_Store_M 

memory result

pn_Store_X_regular 

control flow when no exception occurs

pn_Store_X_except 

control flow when exception occured

Definition at line 3494 of file nodeops.h.


Function Documentation

ir_op* get_op_Store ( void  )

Returns opcode for Store nodes.

ir_node* get_Store_mem ( const ir_node node)

Returns mem input of a Store node.

ir_node* get_Store_ptr ( const ir_node node)

Returns ptr input of a Store node.

ir_align get_Store_unaligned ( const ir_node node)

Returns unaligned attribute of a Store node.

ir_node* get_Store_value ( const ir_node node)

Returns value input of a Store node.

ir_volatility get_Store_volatility ( const ir_node node)

Returns volatility attribute of a Store node.

int is_Store ( const ir_node node)

Test if node is a Store.

Returns:
1 if the node is a Store node, 0 otherwise
ir_node* new_d_Store ( dbg_info dbgi,
ir_node irn_mem,
ir_node irn_ptr,
ir_node irn_value,
ir_cons_flags  flags 
)

Construct a Store node.

Parameters:
dbgiA pointer to debug information.
irn_memmemory dependency
irn_ptraddress to store to
irn_valuevalue to store
flagsspecifies alignment, volatility and pin state
ir_node* new_r_Store ( ir_node block,
ir_node irn_mem,
ir_node irn_ptr,
ir_node irn_value,
ir_cons_flags  flags 
)

Construct a Store node.

Parameters:
blockThe IR block the node belongs to.
irn_memmemory dependency
irn_ptraddress to store to
irn_valuevalue to store
flagsspecifies alignment, volatility and pin state
ir_node* new_rd_Store ( dbg_info dbgi,
ir_node block,
ir_node irn_mem,
ir_node irn_ptr,
ir_node irn_value,
ir_cons_flags  flags 
)

Construct a Store node.

Parameters:
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_memmemory dependency
irn_ptraddress to store to
irn_valuevalue to store
flagsspecifies alignment, volatility and pin state
ir_node* new_Store ( ir_node irn_mem,
ir_node irn_ptr,
ir_node irn_value,
ir_cons_flags  flags 
)

Construct a Store node.

Parameters:
irn_memmemory dependency
irn_ptraddress to store to
irn_valuevalue to store
flagsspecifies alignment, volatility and pin state
void set_Store_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a Store node.

void set_Store_ptr ( ir_node node,
ir_node ptr 
)

Sets ptr input of a Store node.

void set_Store_unaligned ( ir_node node,
ir_align  unaligned 
)

Sets unaligned attribute of a Store node.

void set_Store_value ( ir_node node,
ir_node value 
)

Sets value input of a Store node.

void set_Store_volatility ( ir_node node,
ir_volatility  volatility 
)

Sets volatility attribute of a Store node.


Variable Documentation

Store opcode.

Definition at line 339 of file opcodes.h.