X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Fvrp.h;h=48478eaa55d57e145d907bf7fb916b5531823eda;hb=29fff22a0aac95ec7acfe76c862b93839acf9a0a;hp=d6af1f4496b382a3dba65e7e48ab90ea87f3693f;hpb=a6e674f74ea93c3661f100088db520acb701571f;p=libfirm diff --git a/include/libfirm/vrp.h b/include/libfirm/vrp.h index d6af1f449..48478eaa5 100644 --- a/include/libfirm/vrp.h +++ b/include/libfirm/vrp.h @@ -24,35 +24,37 @@ * @version $Id$ * */ -#include "firm_types.h" - #ifndef VRP_H #define VRP_H +#include "firm_types.h" +#include "begin.h" + enum range_types { 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 can not be, but borders might - be */ - VRP_VARYING /**< information can not be derived */ + VRP_ANTIRANGE, /**< range from bottom to top cannot be, but borders might + be */ + VRP_VARYING /**< information cannot be derived */ }; /** VRP information */ typedef struct { int valid; /**< This node has valid vrp information */ - tarval *bits_set; /**< The bits which, by analysis, are definitely set. + ir_tarval *bits_set; /**< The bits which, by analysis, are definitely set. 0: may be not set, 1: definitely set*/ - tarval *bits_not_set; /**< The bits which by analysis are definitely + ir_tarval *bits_not_set; /**< The bits which by analysis are definitely not set, 1 for may be set, 0: definitely not set */ enum range_types range_type; /**< The range represented by range_top, range_bottom */ - tarval *range_bottom, *range_top; + ir_tarval *range_bottom; + ir_tarval *range_top; } vrp_attr; /** * Set vrp data on the graph irg * @param irg graph on which to set vrp data */ -void set_vrp_data(ir_graph *irg); +FIRM_API void set_vrp_data(ir_graph *irg); /** * Test, if the two nodes can be compared with their vrp information @@ -62,7 +64,7 @@ void set_vrp_data(ir_graph *irg); * * @return the pn_Cmp, if one can be derived */ -pn_Cmp vrp_cmp(const ir_node *left, const ir_node *right); +FIRM_API pn_Cmp vrp_cmp(const ir_node *left, const ir_node *right); /* * Return the vrp data for this node @@ -71,6 +73,8 @@ pn_Cmp vrp_cmp(const ir_node *left, const ir_node *right); * * @return a pointer to the vrp data or NULL if there is none */ -vrp_attr *vrp_get_info(const ir_node *n); +FIRM_API vrp_attr *vrp_get_info(const ir_node *n); + +#include "end.h" #endif