X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Fvrp.h;h=ef5234b4515e67bd3fbdfff2acce827d81265e05;hb=64252961a7d41265ff28353949e63f0662a1cd03;hp=19ea8253eb48db564e424a855ea56ef622ccac50;hpb=f6b78c1b4c5885ac0c3e20ae0afca754cb3edbf9;p=libfirm diff --git a/include/libfirm/vrp.h b/include/libfirm/vrp.h index 19ea8253e..ef5234b45 100644 --- a/include/libfirm/vrp.h +++ b/include/libfirm/vrp.h @@ -21,8 +21,6 @@ * @file * @brief Analyse the graph with value range propagation * @author Jonas Fietz - * @version $Id$ - * */ #ifndef VRP_H #define VRP_H @@ -30,6 +28,14 @@ #include "firm_types.h" #include "begin.h" +/** + * @ingroup irana + * @defgroup vrp Value Information + * Information about SSA-values (ranges, known bits, ...) + * @{ + */ + +/** Type of a value range */ enum range_types { VRP_UNDEFINED, /**< No information could be derived so far */ VRP_RANGE, /**< bottom and top form a range, including both values */ @@ -38,7 +44,7 @@ enum range_types { VRP_VARYING /**< information cannot be derived */ }; -/** VRP information */ +/** VRP information for a single node */ typedef struct { ir_tarval *bits_set; /**< The bits which, by analysis, are definitely set: @@ -47,12 +53,12 @@ typedef struct { not set: 1 for may be set, 0: definitely not set */ enum range_types range_type; /**< The range represented by range_top, range_bottom */ - ir_tarval *range_bottom; - ir_tarval *range_top; + ir_tarval *range_bottom; /**< lower end of the value range */ + ir_tarval *range_top; /**< upper end of the value range */ } vrp_attr; /** - * Set vrp data on the graph irg + * Sets vrp data on the graph irg * @param irg graph on which to set vrp data */ FIRM_API void set_vrp_data(ir_graph *irg); @@ -71,8 +77,8 @@ FIRM_API void free_vrp_data(ir_graph *irg); */ FIRM_API ir_relation vrp_cmp(const ir_node *left, const ir_node *right); -/* - * Return the vrp data for this node +/** + * Returns the vrp data for this node * Note: only allowed for nodes with an integer mode! * * @param n: the node for which to return the vrp information @@ -80,6 +86,8 @@ FIRM_API ir_relation vrp_cmp(const ir_node *left, const ir_node *right); */ FIRM_API vrp_attr *vrp_get_info(const ir_node *n); +/** @} */ + #include "end.h" #endif