libFirm

Loads a value from memory (heap or stack). More...

Enumerations

enum  n_Load { n_Load_mem, n_Load_ptr, n_Load_max = n_Load_ptr }
 Input numbers for Load node. More...
 
enum  pn_Load {
  pn_Load_M, pn_Load_res, pn_Load_X_regular, pn_Load_X_except,
  pn_Load_max = pn_Load_X_except
}
 Projection numbers for result of Load node (use for Proj nodes) More...
 

Functions

ir_nodenew_rd_Load (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
 Construct a Load node. More...
 
ir_nodenew_r_Load (ir_node *block, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
 Construct a Load node. More...
 
ir_nodenew_d_Load (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
 Construct a Load node. More...
 
ir_nodenew_Load (ir_node *irn_mem, ir_node *irn_ptr, ir_mode *mode, ir_type *type, ir_cons_flags flags)
 Construct a Load node. More...
 
int is_Load (const ir_node *node)
 Test if node is a Load. More...
 
ir_nodeget_Load_mem (const ir_node *node)
 Returns mem input of a Load node. More...
 
void set_Load_mem (ir_node *node, ir_node *mem)
 Sets mem input of a Load node. More...
 
ir_nodeget_Load_ptr (const ir_node *node)
 Returns ptr input of a Load node. More...
 
void set_Load_ptr (ir_node *node, ir_node *ptr)
 Sets ptr input of a Load node. More...
 
ir_modeget_Load_mode (const ir_node *node)
 Returns mode attribute of a Load node. More...
 
void set_Load_mode (ir_node *node, ir_mode *mode)
 Sets mode attribute of a Load node. More...
 
ir_typeget_Load_type (const ir_node *node)
 Returns type attribute of a Load node. More...
 
void set_Load_type (ir_node *node, ir_type *type)
 Sets type attribute of a Load node. More...
 
ir_volatility get_Load_volatility (const ir_node *node)
 Returns volatility attribute of a Load node. More...
 
void set_Load_volatility (ir_node *node, ir_volatility volatility)
 Sets volatility attribute of a Load node. More...
 
ir_align get_Load_unaligned (const ir_node *node)
 Returns unaligned attribute of a Load node. More...
 
void set_Load_unaligned (ir_node *node, ir_align unaligned)
 Sets unaligned attribute of a Load node. More...
 
ir_opget_op_Load (void)
 Returns opcode for Load nodes. More...
 

Variables

ir_opop_Load
 Load opcode. More...
 

Detailed Description

Loads a value from memory (heap or stack).

Enumeration Type Documentation

enum n_Load

Input numbers for Load node.

Enumerator
n_Load_mem 

memory dependency

n_Load_ptr 

address to load from

n_Load_max 

Definition at line 2083 of file nodes.h.

enum pn_Load

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

Enumerator
pn_Load_M 

memory result

pn_Load_res 

result of load operation

pn_Load_X_regular 

control flow when no exception occurs

pn_Load_X_except 

control flow when exception occurred

pn_Load_max 

Definition at line 2092 of file nodes.h.

Function Documentation

ir_node* get_Load_mem ( const ir_node node)

Returns mem input of a Load node.

ir_mode* get_Load_mode ( const ir_node node)

Returns mode attribute of a Load node.

ir_node* get_Load_ptr ( const ir_node node)

Returns ptr input of a Load node.

ir_type* get_Load_type ( const ir_node node)

Returns type attribute of a Load node.

ir_align get_Load_unaligned ( const ir_node node)

Returns unaligned attribute of a Load node.

ir_volatility get_Load_volatility ( const ir_node node)

Returns volatility attribute of a Load node.

ir_op* get_op_Load ( void  )

Returns opcode for Load nodes.

int is_Load ( const ir_node node)

Test if node is a Load.

Returns
1 if the node is a Load node, 0 otherwise
ir_node* new_d_Load ( dbg_info dbgi,
ir_node irn_mem,
ir_node irn_ptr,
ir_mode mode,
ir_type type,
ir_cons_flags  flags 
)

Construct a Load node.

Parameters
dbgiA pointer to debug information.
irn_memmem
irn_ptrptr
modemode of the value to be loaded
typeThe type of the object which is stored at ptr (need not match with mode)
flagsspecifies alignment, volatility and pin state
ir_node* new_Load ( ir_node irn_mem,
ir_node irn_ptr,
ir_mode mode,
ir_type type,
ir_cons_flags  flags 
)

Construct a Load node.

Parameters
irn_memmem
irn_ptrptr
modemode of the value to be loaded
typeThe type of the object which is stored at ptr (need not match with mode)
flagsspecifies alignment, volatility and pin state
ir_node* new_r_Load ( ir_node block,
ir_node irn_mem,
ir_node irn_ptr,
ir_mode mode,
ir_type type,
ir_cons_flags  flags 
)

Construct a Load node.

Parameters
blockThe IR block the node belongs to.
irn_memmem
irn_ptrptr
modemode of the value to be loaded
typeThe type of the object which is stored at ptr (need not match with mode)
flagsspecifies alignment, volatility and pin state
ir_node* new_rd_Load ( dbg_info dbgi,
ir_node block,
ir_node irn_mem,
ir_node irn_ptr,
ir_mode mode,
ir_type type,
ir_cons_flags  flags 
)

Construct a Load node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_memmem
irn_ptrptr
modemode of the value to be loaded
typeThe type of the object which is stored at ptr (need not match with mode)
flagsspecifies alignment, volatility and pin state
void set_Load_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a Load node.

void set_Load_mode ( ir_node node,
ir_mode mode 
)

Sets mode attribute of a Load node.

void set_Load_ptr ( ir_node node,
ir_node ptr 
)

Sets ptr input of a Load node.

void set_Load_type ( ir_node node,
ir_type type 
)

Sets type attribute of a Load node.

void set_Load_unaligned ( ir_node node,
ir_align  unaligned 
)

Sets unaligned attribute of a Load node.

void set_Load_volatility ( ir_node node,
ir_volatility  volatility 
)

Sets volatility attribute of a Load node.

Variable Documentation

ir_op* op_Load

Load opcode.

Definition at line 2183 of file nodes.h.