libFirm
Confirm node

Specifies constraints for a value. More...

Enumerations

enum  n_Confirm { n_Confirm_value, n_Confirm_bound, n_Confirm_max = n_Confirm_bound }
 Input numbers for Confirm node. More...
 

Functions

ir_nodenew_rd_Confirm (dbg_info *dbgi, ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
 Construct a Confirm node. More...
 
ir_nodenew_r_Confirm (ir_node *block, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
 Construct a Confirm node. More...
 
ir_nodenew_d_Confirm (dbg_info *dbgi, ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
 Construct a Confirm node. More...
 
ir_nodenew_Confirm (ir_node *irn_value, ir_node *irn_bound, ir_relation relation)
 Construct a Confirm node. More...
 
int is_Confirm (const ir_node *node)
 Test if node is a Confirm. More...
 
ir_nodeget_Confirm_value (const ir_node *node)
 Returns value input of a Confirm node. More...
 
void set_Confirm_value (ir_node *node, ir_node *value)
 Sets value input of a Confirm node. More...
 
ir_nodeget_Confirm_bound (const ir_node *node)
 Returns bound input of a Confirm node. More...
 
void set_Confirm_bound (ir_node *node, ir_node *bound)
 Sets bound input of a Confirm node. More...
 
ir_relation get_Confirm_relation (const ir_node *node)
 Returns relation attribute of a Confirm node. More...
 
void set_Confirm_relation (ir_node *node, ir_relation relation)
 Sets relation attribute of a Confirm node. More...
 
ir_opget_op_Confirm (void)
 Returns opcode for Confirm nodes. More...
 

Variables

ir_opop_Confirm
 Confirm opcode. More...
 

Detailed Description

Specifies constraints for a value.

This allows explicit representation of path-sensitive properties. (Example: This value is always >= 0 on 1 if-branch then all users within that branch are rerouted to a confirm-node specifying this property).

A constraint is specified for the relation between value and bound. value is always returned. Note that this node does NOT check or assert the constraint, it merely specifies it.

Enumeration Type Documentation

◆ n_Confirm

enum n_Confirm

Input numbers for Confirm node.

Enumerator
n_Confirm_value 

value to express a constraint for

n_Confirm_bound 

value to compare against

n_Confirm_max 

Definition at line 1284 of file nodes.h.

Function Documentation

◆ get_Confirm_bound()

ir_node* get_Confirm_bound ( const ir_node node)

Returns bound input of a Confirm node.

◆ get_Confirm_relation()

ir_relation get_Confirm_relation ( const ir_node node)

Returns relation attribute of a Confirm node.

◆ get_Confirm_value()

ir_node* get_Confirm_value ( const ir_node node)

Returns value input of a Confirm node.

◆ get_op_Confirm()

ir_op* get_op_Confirm ( void  )

Returns opcode for Confirm nodes.

◆ is_Confirm()

int is_Confirm ( const ir_node node)

Test if node is a Confirm.

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

◆ new_Confirm()

ir_node* new_Confirm ( ir_node irn_value,
ir_node irn_bound,
ir_relation  relation 
)

Construct a Confirm node.

Parameters
irn_valuevalue
irn_boundbound
relationrelation of value to bound

◆ new_d_Confirm()

ir_node* new_d_Confirm ( dbg_info dbgi,
ir_node irn_value,
ir_node irn_bound,
ir_relation  relation 
)

Construct a Confirm node.

Parameters
dbgiA pointer to debug information.
irn_valuevalue
irn_boundbound
relationrelation of value to bound

◆ new_r_Confirm()

ir_node* new_r_Confirm ( ir_node block,
ir_node irn_value,
ir_node irn_bound,
ir_relation  relation 
)

Construct a Confirm node.

Parameters
blockThe IR block the node belongs to.
irn_valuevalue
irn_boundbound
relationrelation of value to bound

◆ new_rd_Confirm()

ir_node* new_rd_Confirm ( dbg_info dbgi,
ir_node block,
ir_node irn_value,
ir_node irn_bound,
ir_relation  relation 
)

Construct a Confirm node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_valuevalue
irn_boundbound
relationrelation of value to bound

◆ set_Confirm_bound()

void set_Confirm_bound ( ir_node node,
ir_node bound 
)

Sets bound input of a Confirm node.

◆ set_Confirm_relation()

void set_Confirm_relation ( ir_node node,
ir_relation  relation 
)

Sets relation attribute of a Confirm node.

◆ set_Confirm_value()

void set_Confirm_value ( ir_node node,
ir_node value 
)

Sets value input of a Confirm node.

Variable Documentation

◆ op_Confirm

ir_op* op_Confirm

Confirm opcode.

Definition at line 1350 of file nodes.h.