-enum range_ops {
- VRP_NONE, /* range is defined absolute */
- VRP_ADD, /* range + range_node are the possible values */
- VRP_SUB /* range - range_node are the possible values */
-};
+/** VRP information for a single node */
+typedef struct {
+ ir_tarval *bits_set; /**< The bits which, by analysis, are
+ definitely set:
+ 0: may be not set, 1: definitely set */
+ 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 */
+ ir_tarval *range_bottom; /**< lower end of the value range */
+ ir_tarval *range_top; /**< upper end of the value range */
+} vrp_attr;