libFirm
CopyB node

Copies a block of memory with statically known size/type. More...

Enumerations

enum  n_CopyB { n_CopyB_mem, n_CopyB_dst, n_CopyB_src, n_CopyB_max = n_CopyB_src }
 Input numbers for CopyB node. More...
 

Functions

ir_nodenew_rd_CopyB (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
 Construct a CopyB node. More...
 
ir_nodenew_r_CopyB (ir_node *block, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
 Construct a CopyB node. More...
 
ir_nodenew_d_CopyB (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
 Construct a CopyB node. More...
 
ir_nodenew_CopyB (ir_node *irn_mem, ir_node *irn_dst, ir_node *irn_src, ir_type *type, ir_cons_flags flags)
 Construct a CopyB node. More...
 
int is_CopyB (const ir_node *node)
 Test if node is a CopyB. More...
 
ir_nodeget_CopyB_mem (const ir_node *node)
 Returns mem input of a CopyB node. More...
 
void set_CopyB_mem (ir_node *node, ir_node *mem)
 Sets mem input of a CopyB node. More...
 
ir_nodeget_CopyB_dst (const ir_node *node)
 Returns dst input of a CopyB node. More...
 
void set_CopyB_dst (ir_node *node, ir_node *dst)
 Sets dst input of a CopyB node. More...
 
ir_nodeget_CopyB_src (const ir_node *node)
 Returns src input of a CopyB node. More...
 
void set_CopyB_src (ir_node *node, ir_node *src)
 Sets src input of a CopyB node. More...
 
ir_typeget_CopyB_type (const ir_node *node)
 Returns type attribute of a CopyB node. More...
 
void set_CopyB_type (ir_node *node, ir_type *type)
 Sets type attribute of a CopyB node. More...
 
ir_volatility get_CopyB_volatility (const ir_node *node)
 Returns volatility attribute of a CopyB node. More...
 
void set_CopyB_volatility (ir_node *node, ir_volatility volatility)
 Sets volatility attribute of a CopyB node. More...
 
ir_opget_op_CopyB (void)
 Returns opcode for CopyB nodes. More...
 

Variables

ir_opop_CopyB
 CopyB opcode. More...
 

Detailed Description

Copies a block of memory with statically known size/type.

Enumeration Type Documentation

enum n_CopyB

Input numbers for CopyB node.

Enumerator
n_CopyB_mem 

memory dependency

n_CopyB_dst 

destination address

n_CopyB_src 

source address

n_CopyB_max 

Definition at line 1423 of file nodes.h.

Function Documentation

ir_node* get_CopyB_dst ( const ir_node node)

Returns dst input of a CopyB node.

Definition at line 987 of file gen_irnode.c.

ir_node* get_CopyB_mem ( const ir_node node)

Returns mem input of a CopyB node.

Definition at line 977 of file gen_irnode.c.

ir_node* get_CopyB_src ( const ir_node node)

Returns src input of a CopyB node.

Definition at line 997 of file gen_irnode.c.

ir_type* get_CopyB_type ( const ir_node node)

Returns type attribute of a CopyB node.

Definition at line 3140 of file gen_irnode.c.

ir_volatility get_CopyB_volatility ( const ir_node node)

Returns volatility attribute of a CopyB node.

Definition at line 3150 of file gen_irnode.c.

ir_op* get_op_CopyB ( void  )

Returns opcode for CopyB nodes.

Definition at line 1007 of file gen_irnode.c.

References op_CopyB, and op_Deleted.

int is_CopyB ( const ir_node node)

Test if node is a CopyB.

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

Definition at line 3135 of file gen_irnode.c.

ir_node* new_CopyB ( ir_node irn_mem,
ir_node irn_dst,
ir_node irn_src,
ir_type type,
ir_cons_flags  flags 
)

Construct a CopyB node.

Parameters
irn_memmem
irn_dstdst
irn_srcsrc
typetype of copied data
flagsspecifies volatility

Definition at line 972 of file gen_irnode.c.

References new_d_CopyB().

ir_node* new_d_CopyB ( dbg_info dbgi,
ir_node irn_mem,
ir_node irn_dst,
ir_node irn_src,
ir_type type,
ir_cons_flags  flags 
)

Construct a CopyB node.

Parameters
dbgiA pointer to debug information.
irn_memmem
irn_dstdst
irn_srcsrc
typetype of copied data
flagsspecifies volatility

Definition at line 965 of file gen_irnode.c.

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

Referenced by new_CopyB().

ir_node* new_r_CopyB ( ir_node block,
ir_node irn_mem,
ir_node irn_dst,
ir_node irn_src,
ir_type type,
ir_cons_flags  flags 
)

Construct a CopyB node.

Parameters
blockThe IR block the node belongs to.
irn_memmem
irn_dstdst
irn_srcsrc
typetype of copied data
flagsspecifies volatility

Definition at line 960 of file gen_irnode.c.

References new_rd_CopyB().

ir_node* new_rd_CopyB ( dbg_info dbgi,
ir_node block,
ir_node irn_mem,
ir_node irn_dst,
ir_node irn_src,
ir_type type,
ir_cons_flags  flags 
)

Construct a CopyB node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_memmem
irn_dstdst
irn_srcsrc
typetype of copied data
flagsspecifies volatility

Definition at line 941 of file gen_irnode.c.

References cons_volatile, get_irn_irg(), mode_M, new_ir_node(), op_CopyB, optimize_node(), and verify_new_node().

Referenced by new_d_CopyB(), and new_r_CopyB().

void set_CopyB_dst ( ir_node node,
ir_node dst 
)

Sets dst input of a CopyB node.

Definition at line 992 of file gen_irnode.c.

void set_CopyB_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a CopyB node.

Definition at line 982 of file gen_irnode.c.

void set_CopyB_src ( ir_node node,
ir_node src 
)

Sets src input of a CopyB node.

Definition at line 1002 of file gen_irnode.c.

References op_CopyB.

void set_CopyB_type ( ir_node node,
ir_type type 
)

Sets type attribute of a CopyB node.

Definition at line 3145 of file gen_irnode.c.

void set_CopyB_volatility ( ir_node node,
ir_volatility  volatility 
)

Sets volatility attribute of a CopyB node.

Definition at line 3155 of file gen_irnode.c.

Variable Documentation

ir_op* op_CopyB

CopyB opcode.

Definition at line 1507 of file nodes.h.

Referenced by get_op_CopyB(), new_rd_CopyB(), set_CopyB_src(), and set_typeconst_type().