libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Mul node

returns the product of its operands More...

Enumerations

enum  n_Mul { n_Mul_left, n_Mul_right, n_Mul_max = n_Mul_right }
 Input numbers for Mul node. More...
 

Functions

ir_nodenew_rd_Mul (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Mul node. More...
 
ir_nodenew_r_Mul (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Mul node. More...
 
ir_nodenew_d_Mul (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Mul node. More...
 
ir_nodenew_Mul (ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Mul node. More...
 
int is_Mul (const ir_node *node)
 Test if node is a Mul. More...
 
ir_nodeget_Mul_left (const ir_node *node)
 Returns left input of a Mul node. More...
 
void set_Mul_left (ir_node *node, ir_node *left)
 Sets left input of a Mul node. More...
 
ir_nodeget_Mul_right (const ir_node *node)
 Returns right input of a Mul node. More...
 
void set_Mul_right (ir_node *node, ir_node *right)
 Sets right input of a Mul node. More...
 
ir_opget_op_Mul (void)
 Returns opcode for Mul nodes. More...
 

Variables

ir_opop_Mul
 Mul opcode. More...
 

Detailed Description

returns the product of its operands

Enumeration Type Documentation

enum n_Mul

Input numbers for Mul node.

Enumerator
n_Mul_left 

first operand

n_Mul_right 

second operand

n_Mul_max 

Definition at line 2471 of file nodes.h.

Function Documentation

ir_node* get_Mul_left ( const ir_node node)

Returns left input of a Mul node.

Definition at line 1657 of file gen_irnode.c.

ir_node* get_Mul_right ( const ir_node node)

Returns right input of a Mul node.

Definition at line 1667 of file gen_irnode.c.

ir_op* get_op_Mul ( void  )

Returns opcode for Mul nodes.

Definition at line 1677 of file gen_irnode.c.

References op_Mul.

int is_Mul ( const ir_node node)

Test if node is a Mul.

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

Definition at line 3304 of file gen_irnode.c.

ir_node* new_d_Mul ( dbg_info dbgi,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Mul node.

Parameters
dbgiA pointer to debug information.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 1645 of file gen_irnode.c.

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

Referenced by new_Mul().

ir_node* new_Mul ( ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Mul node.

Parameters
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 1652 of file gen_irnode.c.

References new_d_Mul().

ir_node* new_r_Mul ( ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Mul node.

Parameters
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 1640 of file gen_irnode.c.

References new_rd_Mul().

ir_node* new_rd_Mul ( dbg_info dbgi,
ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Mul node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 1624 of file gen_irnode.c.

References get_irn_irg(), new_ir_node(), op_Mul, optimize_node(), and verify_new_node().

Referenced by new_d_Mul(), and new_r_Mul().

void set_Mul_left ( ir_node node,
ir_node left 
)

Sets left input of a Mul node.

Definition at line 1662 of file gen_irnode.c.

void set_Mul_right ( ir_node node,
ir_node right 
)

Sets right input of a Mul node.

Definition at line 1672 of file gen_irnode.c.

Variable Documentation

ir_op* op_Mul

Mul opcode.

Definition at line 2532 of file nodes.h.

Referenced by get_op_Mul(), and new_rd_Mul().