libFirm
Value Information

Information about SSA-values (ranges, known bits, ...) More...

Data Structures

struct  vrp_attr
 VRP information for a single node. More...

Enumerations

enum  range_types { VRP_UNDEFINED, VRP_RANGE, VRP_ANTIRANGE, VRP_VARYING }
 Type of a value range. More...

Functions

void set_vrp_data (ir_graph *irg)
 Sets vrp data on the graph irg.
void free_vrp_data (ir_graph *irg)
 free vrp infos in an irg
ir_relation vrp_cmp (const ir_node *left, const ir_node *right)
 Test, if the two nodes can be compared with their vrp information.
vrp_attrvrp_get_info (const ir_node *n)
 Returns the vrp data for this node Note: only allowed for nodes with an integer mode!

Detailed Description

Information about SSA-values (ranges, known bits, ...)

Enumeration Type Documentation

Type of a value range.

Enumerator:
VRP_UNDEFINED 

No information could be derived so far.

VRP_RANGE 

bottom and top form a range, including both values

VRP_ANTIRANGE 

range from bottom to top cannot be, but borders might be

VRP_VARYING 

information cannot be derived

Definition at line 39 of file vrp.h.

Function Documentation

void free_vrp_data ( ir_graph irg)

free vrp infos in an irg

void set_vrp_data ( ir_graph irg)

Sets vrp data on the graph irg.

Parameters
irggraph on which to set vrp data
ir_relation vrp_cmp ( const ir_node left,
const ir_node right 
)

Test, if the two nodes can be compared with their vrp information.

Parameters
left,:the left node
right,:the right node
Returns
all possible relations
vrp_attr* vrp_get_info ( const ir_node n)

Returns the vrp data for this node Note: only allowed for nodes with an integer mode!

Parameters
n,:the node for which to return the vrp information
Returns
a pointer to the vrp data or NULL if there is none