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

returns the result of a bitwise and operation of its operands More...

Enumerations

enum  n_And { n_And_left, n_And_right, n_And_max = n_And_right }
 Input numbers for And node. More...
 

Functions

ir_nodenew_rd_And (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct an And node. More...
 
ir_nodenew_r_And (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct an And node. More...
 
ir_nodenew_d_And (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct an And node. More...
 
ir_nodenew_And (ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct an And node. More...
 
int is_And (const ir_node *node)
 Test if node is a And. More...
 
ir_nodeget_And_left (const ir_node *node)
 Returns left input of an And node. More...
 
void set_And_left (ir_node *node, ir_node *left)
 Sets left input of an And node. More...
 
ir_nodeget_And_right (const ir_node *node)
 Returns right input of an And node. More...
 
void set_And_right (ir_node *node, ir_node *right)
 Sets right input of an And node. More...
 
ir_opget_op_And (void)
 Returns opcode for And nodes. More...
 

Variables

ir_opop_And
 And opcode. More...
 

Detailed Description

returns the result of a bitwise and operation of its operands

Enumeration Type Documentation

enum n_And

Input numbers for And node.

Enumerator
n_And_left 

first operand

n_And_right 

second operand

n_And_max 

Definition at line 539 of file nodes.h.

Function Documentation

ir_node* get_And_left ( const ir_node node)

Returns left input of an And node.

Definition at line 359 of file gen_irnode.c.

ir_node* get_And_right ( const ir_node node)

Returns right input of an And node.

Definition at line 369 of file gen_irnode.c.

ir_op* get_op_And ( void  )

Returns opcode for And nodes.

Definition at line 379 of file gen_irnode.c.

References op_And.

int is_And ( const ir_node node)

Test if node is a And.

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

Definition at line 2999 of file gen_irnode.c.

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

Construct an And node.

Parameters
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 354 of file gen_irnode.c.

References new_d_And().

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

Construct an And node.

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

Definition at line 347 of file gen_irnode.c.

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

Referenced by new_And().

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

Construct an And node.

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

Definition at line 342 of file gen_irnode.c.

References new_rd_And().

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

Construct an And 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 326 of file gen_irnode.c.

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

Referenced by new_d_And(), and new_r_And().

void set_And_left ( ir_node node,
ir_node left 
)

Sets left input of an And node.

Definition at line 364 of file gen_irnode.c.

void set_And_right ( ir_node node,
ir_node right 
)

Sets right input of an And node.

Definition at line 374 of file gen_irnode.c.

Variable Documentation

ir_op* op_And

And opcode.

Definition at line 600 of file nodes.h.

Referenced by get_op_And(), and new_rd_And().