libFirm
Loading...
Searching...
No Matches
vrp.h
1/*
2 * This file is part of libFirm.
3 * Copyright (C) 2012 University of Karlsruhe.
4 */
5
11#ifndef VRP_H
12#define VRP_H
13
14#include "firm_types.h"
15
16#include "begin.h"
17
33
46
51FIRM_API void set_vrp_data(ir_graph *irg);
52
56FIRM_API void free_vrp_data(ir_graph *irg);
57
65FIRM_API ir_relation vrp_cmp(const ir_node *left, const ir_node *right);
66
74FIRM_API vrp_attr *vrp_get_info(const ir_node *n);
75
78#include "end.h"
79
80#endif
struct ir_graph ir_graph
Procedure Graph.
Definition firm_types.h:74
struct ir_node ir_node
Procedure Graph Node.
Definition firm_types.h:53
ir_relation
Relations for comparing numbers.
Definition firm_types.h:162
struct ir_tarval ir_tarval
Target Machine Value.
Definition firm_types.h:68
VRP information for a single node.
Definition vrp.h:35
enum range_types range_type
The range represented by range_top, range_bottom.
Definition vrp.h:42
ir_tarval * range_bottom
lower end of the value range
Definition vrp.h:43
ir_tarval * bits_set
The bits which, by analysis, are definitely set: 0: may be not set, 1: definitely set.
Definition vrp.h:36
ir_tarval * range_top
upper end of the value range
Definition vrp.h:44
ir_tarval * bits_not_set
The bits which by analysis are definitely not set: 1 for may be set, 0: definitely not set.
Definition vrp.h:39
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.
void set_vrp_data(ir_graph *irg)
Sets vrp data on the graph irg.
range_types
Type of a value range.
Definition vrp.h:26
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!
@ VRP_VARYING
information cannot be derived
Definition vrp.h:31
@ VRP_RANGE
bottom and top form a range, including both values
Definition vrp.h:28
@ VRP_ANTIRANGE
range from bottom to top cannot be, but borders might be
Definition vrp.h:29
@ VRP_UNDEFINED
No information could be derived so far.
Definition vrp.h:27