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

Returns its first operands bits shifted left by the amount of the 2nd operand. More...

Enumerations

enum  n_Shl { n_Shl_left, n_Shl_right, n_Shl_max = n_Shl_right }
 Input numbers for Shl node. More...
 

Functions

ir_nodenew_rd_Shl (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shl node. More...
 
ir_nodenew_r_Shl (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shl node. More...
 
ir_nodenew_d_Shl (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shl node. More...
 
ir_nodenew_Shl (ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shl node. More...
 
int is_Shl (const ir_node *node)
 Test if node is a Shl. More...
 
ir_nodeget_Shl_left (const ir_node *node)
 Returns left input of a Shl node. More...
 
void set_Shl_left (ir_node *node, ir_node *left)
 Sets left input of a Shl node. More...
 
ir_nodeget_Shl_right (const ir_node *node)
 Returns right input of a Shl node. More...
 
void set_Shl_right (ir_node *node, ir_node *right)
 Sets right input of a Shl node. More...
 
ir_opget_op_Shl (void)
 Returns opcode for Shl nodes. More...
 

Variables

ir_opop_Shl
 Shl opcode. More...
 

Detailed Description

Returns its first operands bits shifted left by the amount of the 2nd operand.

The right input (shift amount) must be an unsigned integer value. If the result mode has modulo_shift!=0, then the effective shift amount is the right input modulo this modulo_shift amount.

Enumeration Type Documentation

enum n_Shl

Input numbers for Shl node.

Enumerator
n_Shl_left 

first operand

n_Shl_right 

second operand

n_Shl_max 

Definition at line 3450 of file nodes.h.

Function Documentation

ir_op* get_op_Shl ( void  )

Returns opcode for Shl nodes.

Definition at line 2378 of file gen_irnode.c.

References op_Shl.

ir_node* get_Shl_left ( const ir_node node)

Returns left input of a Shl node.

Definition at line 2358 of file gen_irnode.c.

ir_node* get_Shl_right ( const ir_node node)

Returns right input of a Shl node.

Definition at line 2368 of file gen_irnode.c.

int is_Shl ( const ir_node node)

Test if node is a Shl.

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

Definition at line 3409 of file gen_irnode.c.

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

Construct a Shl node.

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

Definition at line 2346 of file gen_irnode.c.

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

Referenced by new_Shl().

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

Construct a Shl node.

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

Definition at line 2341 of file gen_irnode.c.

References new_rd_Shl().

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

Construct a Shl 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 2325 of file gen_irnode.c.

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

Referenced by new_d_Shl(), and new_r_Shl().

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

Construct a Shl node.

Parameters
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2353 of file gen_irnode.c.

References new_d_Shl().

void set_Shl_left ( ir_node node,
ir_node left 
)

Sets left input of a Shl node.

Definition at line 2363 of file gen_irnode.c.

void set_Shl_right ( ir_node node,
ir_node right 
)

Sets right input of a Shl node.

Definition at line 2373 of file gen_irnode.c.

Variable Documentation

ir_op* op_Shl

Shl opcode.

Definition at line 3511 of file nodes.h.

Referenced by get_op_Shl(), and new_rd_Shl().