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

Compares its two operands and checks whether a specified relation (like less or equal) is fulfilled. More...

Enumerations

enum  n_Cmp { n_Cmp_left, n_Cmp_right, n_Cmp_max = n_Cmp_right }
 Input numbers for Cmp node. More...
 

Functions

ir_nodenew_rd_Cmp (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
 Construct a Cmp node. More...
 
ir_nodenew_r_Cmp (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
 Construct a Cmp node. More...
 
ir_nodenew_d_Cmp (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_relation relation)
 Construct a Cmp node. More...
 
ir_nodenew_Cmp (ir_node *irn_left, ir_node *irn_right, ir_relation relation)
 Construct a Cmp node. More...
 
int is_Cmp (const ir_node *node)
 Test if node is a Cmp. More...
 
ir_nodeget_Cmp_left (const ir_node *node)
 Returns left input of a Cmp node. More...
 
void set_Cmp_left (ir_node *node, ir_node *left)
 Sets left input of a Cmp node. More...
 
ir_nodeget_Cmp_right (const ir_node *node)
 Returns right input of a Cmp node. More...
 
void set_Cmp_right (ir_node *node, ir_node *right)
 Sets right input of a Cmp node. More...
 
ir_relation get_Cmp_relation (const ir_node *node)
 Returns relation attribute of a Cmp node. More...
 
void set_Cmp_relation (ir_node *node, ir_relation relation)
 Sets relation attribute of a Cmp node. More...
 
ir_opget_op_Cmp (void)
 Returns opcode for Cmp nodes. More...
 

Variables

ir_opop_Cmp
 Cmp opcode. More...
 

Detailed Description

Compares its two operands and checks whether a specified relation (like less or equal) is fulfilled.

Enumeration Type Documentation

enum n_Cmp

Input numbers for Cmp node.

Enumerator
n_Cmp_left 

first operand

n_Cmp_right 

second operand

n_Cmp_max 

Definition at line 1050 of file nodes.h.

Function Documentation

ir_node* get_Cmp_left ( const ir_node node)

Returns left input of a Cmp node.

Definition at line 725 of file gen_irnode.c.

ir_relation get_Cmp_relation ( const ir_node node)

Returns relation attribute of a Cmp node.

Definition at line 3074 of file gen_irnode.c.

ir_node* get_Cmp_right ( const ir_node node)

Returns right input of a Cmp node.

Definition at line 735 of file gen_irnode.c.

ir_op* get_op_Cmp ( void  )

Returns opcode for Cmp nodes.

Definition at line 745 of file gen_irnode.c.

References op_Cmp.

int is_Cmp ( const ir_node node)

Test if node is a Cmp.

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

Definition at line 3069 of file gen_irnode.c.

ir_node* new_Cmp ( ir_node irn_left,
ir_node irn_right,
ir_relation  relation 
)

Construct a Cmp node.

Parameters
irn_leftleft
irn_rightright
relationComparison relation

Definition at line 720 of file gen_irnode.c.

References new_d_Cmp().

ir_node* new_d_Cmp ( dbg_info dbgi,
ir_node irn_left,
ir_node irn_right,
ir_relation  relation 
)

Construct a Cmp node.

Parameters
dbgiA pointer to debug information.
irn_leftleft
irn_rightright
relationComparison relation

Definition at line 713 of file gen_irnode.c.

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

Referenced by new_Cmp().

ir_node* new_r_Cmp ( ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_relation  relation 
)

Construct a Cmp node.

Parameters
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
relationComparison relation

Definition at line 708 of file gen_irnode.c.

References new_rd_Cmp().

ir_node* new_rd_Cmp ( dbg_info dbgi,
ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_relation  relation 
)

Construct a Cmp node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
relationComparison relation

Definition at line 691 of file gen_irnode.c.

References get_irn_irg(), mode_b, new_ir_node(), op_Cmp, optimize_node(), and verify_new_node().

Referenced by new_d_Cmp(), and new_r_Cmp().

void set_Cmp_left ( ir_node node,
ir_node left 
)

Sets left input of a Cmp node.

Definition at line 730 of file gen_irnode.c.

void set_Cmp_relation ( ir_node node,
ir_relation  relation 
)

Sets relation attribute of a Cmp node.

Definition at line 3079 of file gen_irnode.c.

void set_Cmp_right ( ir_node node,
ir_node right 
)

Sets right input of a Cmp node.

Definition at line 740 of file gen_irnode.c.

Variable Documentation

ir_op* op_Cmp

Cmp opcode.

Definition at line 1116 of file nodes.h.

Referenced by get_op_Cmp(), and new_rd_Cmp().