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

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

Enumerations

enum  n_Shr { n_Shr_left, n_Shr_right, n_Shr_max = n_Shr_right }
 Input numbers for Shr node. More...
 

Functions

ir_nodenew_rd_Shr (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shr node. More...
 
ir_nodenew_r_Shr (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shr node. More...
 
ir_nodenew_d_Shr (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shr node. More...
 
ir_nodenew_Shr (ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shr node. More...
 
int is_Shr (const ir_node *node)
 Test if node is a Shr. More...
 
ir_nodeget_Shr_left (const ir_node *node)
 Returns left input of a Shr node. More...
 
void set_Shr_left (ir_node *node, ir_node *left)
 Sets left input of a Shr node. More...
 
ir_nodeget_Shr_right (const ir_node *node)
 Returns right input of a Shr node. More...
 
void set_Shr_right (ir_node *node, ir_node *right)
 Sets right input of a Shr node. More...
 
ir_opget_op_Shr (void)
 Returns opcode for Shr nodes. More...
 

Variables

ir_opop_Shr
 Shr opcode. More...
 

Detailed Description

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

No special handling for the sign bit is performed (zero extension). 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_Shr

Input numbers for Shr node.

Enumerator
n_Shr_left 

first operand

n_Shr_right 

second operand

n_Shr_max 

Definition at line 3532 of file nodes.h.

Function Documentation

ir_op* get_op_Shr ( void  )

Returns opcode for Shr nodes.

Definition at line 2436 of file gen_irnode.c.

References op_Shr.

ir_node* get_Shr_left ( const ir_node node)

Returns left input of a Shr node.

Definition at line 2416 of file gen_irnode.c.

ir_node* get_Shr_right ( const ir_node node)

Returns right input of a Shr node.

Definition at line 2426 of file gen_irnode.c.

int is_Shr ( const ir_node node)

Test if node is a Shr.

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

Definition at line 3414 of file gen_irnode.c.

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

Construct a Shr node.

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

Definition at line 2404 of file gen_irnode.c.

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

Referenced by new_Shr().

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

Construct a Shr node.

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

Definition at line 2399 of file gen_irnode.c.

References new_rd_Shr().

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

Construct a Shr 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 2383 of file gen_irnode.c.

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

Referenced by new_d_Shr(), and new_r_Shr().

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

Construct a Shr node.

Parameters
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2411 of file gen_irnode.c.

References new_d_Shr().

void set_Shr_left ( ir_node node,
ir_node left 
)

Sets left input of a Shr node.

Definition at line 2421 of file gen_irnode.c.

void set_Shr_right ( ir_node node,
ir_node right 
)

Sets right input of a Shr node.

Definition at line 2431 of file gen_irnode.c.

Variable Documentation

ir_op* op_Shr

Shr opcode.

Definition at line 3593 of file nodes.h.

Referenced by get_op_Shr(), and new_rd_Shr().