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

◆ n_Load

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 2150 of file nodes.h.

◆ pn_Load

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 2159 of file nodes.h.

Function Documentation

◆ get_Load_mem()

ir_node* get_Load_mem ( const ir_node node)

Returns mem input of a Load node.

◆ get_Load_mode()

ir_mode* get_Load_mode ( const ir_node node)

Returns mode attribute of a Load node.

◆ get_Load_ptr()

ir_node* get_Load_ptr ( const ir_node node)

Returns ptr input of a Load node.

◆ get_Load_type()

ir_type* get_Load_type ( const ir_node node)

Returns type attribute of a Load node.

◆ get_Load_unaligned()

ir_align get_Load_unaligned ( const ir_node node)

Returns unaligned attribute of a Load node.

◆ get_Load_volatility()

ir_volatility get_Load_volatility ( const ir_node node)

Returns volatility attribute of a Load node.

◆ get_op_Load()

ir_op* get_op_Load ( void  )

Returns opcode for Load nodes.

◆ is_Load()

int is_Load ( const ir_node node)

Test if node is a Load.

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

◆ new_d_Load()

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

◆ new_Load()

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

◆ new_r_Load()

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

◆ new_rd_Load()

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

◆ set_Load_mem()

void set_Load_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a Load node.

◆ set_Load_mode()

void set_Load_mode ( ir_node node,
ir_mode mode 
)

Sets mode attribute of a Load node.

◆ set_Load_ptr()

void set_Load_ptr ( ir_node node,
ir_node ptr 
)

Sets ptr input of a Load node.

◆ set_Load_type()

void set_Load_type ( ir_node node,
ir_type type 
)

Sets type attribute of a Load node.

◆ set_Load_unaligned()

void set_Load_unaligned ( ir_node node,
ir_align  unaligned 
)

Sets unaligned attribute of a Load node.

◆ set_Load_volatility()

void set_Load_volatility ( ir_node node,
ir_volatility  volatility 
)

Sets volatility attribute of a Load node.

Variable Documentation

◆ op_Load

ir_op* op_Load

Load opcode.

Definition at line 2250 of file nodes.h.