libFirm

returns the quotient of its 2 operands More...

Enumerations

enum  n_Div { n_Div_mem, n_Div_left, n_Div_right, n_Div_max = n_Div_right }
 Input numbers for Div node. More...
 
enum  pn_Div {
  pn_Div_M, pn_Div_res, pn_Div_X_regular, pn_Div_X_except,
  pn_Div_max = pn_Div_X_except
}
 Projection numbers for result of Div node (use for Proj nodes) More...
 

Functions

ir_nodenew_rd_DivRL (dbg_info *db, ir_node *block, ir_node *memop, ir_node *op1, ir_node *op2, int pinned)
 Constructor for a remainderless Div node. More...
 
ir_nodenew_r_DivRL (ir_node *block, ir_node *memop, ir_node *op1, ir_node *op2, int pinned)
 Constructor for a remainderless Div node. More...
 
ir_nodenew_d_DivRL (dbg_info *db, ir_node *memop, ir_node *op1, ir_node *op2, int pinned)
 Constructor for a remainderless Div node. More...
 
ir_nodenew_DivRL (ir_node *memop, ir_node *op1, ir_node *op2, int pinned)
 Constructor for a remainderless Div node. More...
 
ir_nodenew_rd_Div (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
 Construct a Div node. More...
 
ir_nodenew_r_Div (ir_node *block, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
 Construct a Div node. More...
 
ir_nodenew_d_Div (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
 Construct a Div node. More...
 
ir_nodenew_Div (ir_node *irn_mem, ir_node *irn_left, ir_node *irn_right, int pinned)
 Construct a Div node. More...
 
int is_Div (const ir_node *node)
 Test if node is a Div. More...
 
ir_nodeget_Div_mem (const ir_node *node)
 Returns mem input of a Div node. More...
 
void set_Div_mem (ir_node *node, ir_node *mem)
 Sets mem input of a Div node. More...
 
ir_nodeget_Div_left (const ir_node *node)
 Returns left input of a Div node. More...
 
void set_Div_left (ir_node *node, ir_node *left)
 Sets left input of a Div node. More...
 
ir_nodeget_Div_right (const ir_node *node)
 Returns right input of a Div node. More...
 
void set_Div_right (ir_node *node, ir_node *right)
 Sets right input of a Div node. More...
 
ir_modeget_Div_resmode (const ir_node *node)
 Returns resmode attribute of a Div node. More...
 
void set_Div_resmode (ir_node *node, ir_mode *resmode)
 Sets resmode attribute of a Div node. More...
 
int get_Div_no_remainder (const ir_node *node)
 Returns no_remainder attribute of a Div node. More...
 
void set_Div_no_remainder (ir_node *node, int no_remainder)
 Sets no_remainder attribute of a Div node. More...
 
ir_opget_op_Div (void)
 Returns opcode for Div nodes. More...
 

Variables

ir_opop_Div
 Div opcode. More...
 

Detailed Description

returns the quotient of its 2 operands

Enumeration Type Documentation

◆ n_Div

enum n_Div

Input numbers for Div node.

Enumerator
n_Div_mem 

memory dependency

n_Div_left 

first operand

n_Div_right 

second operand

n_Div_max 

Definition at line 1618 of file nodes.h.

◆ pn_Div

enum pn_Div

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

Enumerator
pn_Div_M 

memory result

pn_Div_res 

result of computation

pn_Div_X_regular 

control flow when no exception occurs

pn_Div_X_except 

control flow when exception occurred

pn_Div_max 

Definition at line 1628 of file nodes.h.

Function Documentation

◆ get_Div_left()

ir_node* get_Div_left ( const ir_node node)

Returns left input of a Div node.

◆ get_Div_mem()

ir_node* get_Div_mem ( const ir_node node)

Returns mem input of a Div node.

◆ get_Div_no_remainder()

int get_Div_no_remainder ( const ir_node node)

Returns no_remainder attribute of a Div node.

◆ get_Div_resmode()

ir_mode* get_Div_resmode ( const ir_node node)

Returns resmode attribute of a Div node.

◆ get_Div_right()

ir_node* get_Div_right ( const ir_node node)

Returns right input of a Div node.

◆ get_op_Div()

ir_op* get_op_Div ( void  )

Returns opcode for Div nodes.

◆ is_Div()

int is_Div ( const ir_node node)

Test if node is a Div.

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

◆ new_d_Div()

ir_node* new_d_Div ( dbg_info dbgi,
ir_node irn_mem,
ir_node irn_left,
ir_node irn_right,
int  pinned 
)

Construct a Div node.

Parameters
dbgiA pointer to debug information.
irn_memmem
irn_leftleft
irn_rightright
pinnedpinned state

◆ new_d_DivRL()

ir_node* new_d_DivRL ( dbg_info db,
ir_node memop,
ir_node op1,
ir_node op2,
int  pinned 
)

Constructor for a remainderless Div node.

Adds the node to the block in current_ir_block.

Parameters
dbA pointer for debug information.
memopThe store needed to model exceptions
op1The first operand.
op2The second operand.
pinnedWhether the node is pinned in its block.

◆ new_Div()

ir_node* new_Div ( ir_node irn_mem,
ir_node irn_left,
ir_node irn_right,
int  pinned 
)

Construct a Div node.

Parameters
irn_memmem
irn_leftleft
irn_rightright
pinnedpinned state

◆ new_DivRL()

ir_node* new_DivRL ( ir_node memop,
ir_node op1,
ir_node op2,
int  pinned 
)

Constructor for a remainderless Div node.

Adds the node to the block in current_ir_block.

Parameters
memopThe store needed to model exceptions
op1The first operand.
op2The second operand.
pinnedWhether the node is pinned in its block.

◆ new_r_Div()

ir_node* new_r_Div ( ir_node block,
ir_node irn_mem,
ir_node irn_left,
ir_node irn_right,
int  pinned 
)

Construct a Div node.

Parameters
blockThe IR block the node belongs to.
irn_memmem
irn_leftleft
irn_rightright
pinnedpinned state

◆ new_r_DivRL()

ir_node* new_r_DivRL ( ir_node block,
ir_node memop,
ir_node op1,
ir_node op2,
int  pinned 
)

Constructor for a remainderless Div node.

Parameters
blockThe IR block the node belongs to.
memopThe store needed to model exceptions
op1The first operand.
op2The second operand.
pinnedWhether the node is pinned in its block.

◆ new_rd_Div()

ir_node* new_rd_Div ( dbg_info dbgi,
ir_node block,
ir_node irn_mem,
ir_node irn_left,
ir_node irn_right,
int  pinned 
)

Construct a Div node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_memmem
irn_leftleft
irn_rightright
pinnedpinned state

◆ new_rd_DivRL()

ir_node* new_rd_DivRL ( dbg_info db,
ir_node block,
ir_node memop,
ir_node op1,
ir_node op2,
int  pinned 
)

Constructor for a remainderless Div node.

Parameters
dbA pointer for debug information.
blockThe IR block the node belongs to.
memopThe store needed to model exceptions
op1The first operand.
op2The second operand.
pinnedWhether the node is pinned in its block.

◆ set_Div_left()

void set_Div_left ( ir_node node,
ir_node left 
)

Sets left input of a Div node.

◆ set_Div_mem()

void set_Div_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a Div node.

◆ set_Div_no_remainder()

void set_Div_no_remainder ( ir_node node,
int  no_remainder 
)

Sets no_remainder attribute of a Div node.

◆ set_Div_resmode()

void set_Div_resmode ( ir_node node,
ir_mode resmode 
)

Sets resmode attribute of a Div node.

◆ set_Div_right()

void set_Div_right ( ir_node node,
ir_node right 
)

Sets right input of a Div node.

Variable Documentation

◆ op_Div

ir_op* op_Div

Div opcode.

Definition at line 1709 of file nodes.h.