Amendment of r28263 which was committed too early.
[libfirm] / ir / ana / vrp.c
index a684431..8e51b83 100644 (file)
@@ -21,7 +21,7 @@
  * @file
  * @brief   analyze graph to provide value range information
  * @author  Jonas Fietz
- * @version    $Id$
+ * @version $Id$
  */
 #include "config.h"
 
 
 DEBUG_ONLY(static firm_dbg_module_t *dbg);
 
-struct vrp_env_t {
+typedef struct vrp_env_t {
        waitq    *workqueue;
        bitset_t *visited;
-};
+} vrp_env_t;
 
 static vrp_attr *get_vrp_attr(const ir_node *node)
 {
@@ -55,10 +55,10 @@ static vrp_attr *get_vrp_attr(const ir_node *node)
 
 static int vrp_update_node(ir_node *node)
 {
-       tarval *new_bits_set = get_tarval_bad();
-       tarval *new_bits_not_set = get_tarval_bad();
-       tarval *new_range_bottom = get_tarval_bad();
-       tarval *new_range_top = get_tarval_bad();
+       ir_tarval *new_bits_set = get_tarval_bad();
+       ir_tarval *new_bits_not_set = get_tarval_bad();
+       ir_tarval *new_range_bottom = get_tarval_bad();
+       ir_tarval *new_range_top = get_tarval_bad();
        enum range_types new_range_type = VRP_UNDEFINED;
        int something_changed = 0;
        vrp_attr *vrp;
@@ -73,7 +73,7 @@ static int vrp_update_node(ir_node *node)
 
        switch (get_irn_opcode(node)) {
        case iro_Const: {
-               tarval *tv = get_Const_tarval(node);
+               ir_tarval *tv = get_Const_tarval(node);
                new_bits_set = tv;
                new_bits_not_set = tv;
                new_range_bottom = tv;
@@ -97,7 +97,7 @@ static int vrp_update_node(ir_node *node)
 
        case iro_Add: {
                int overflow_top, overflow_bottom;
-               tarval *new_top, *new_bottom;
+               ir_tarval *new_top, *new_bottom;
                const vrp_attr *vrp_left, *vrp_right;
                vrp_left = get_vrp_attr(get_Add_left(node));
                vrp_right = get_vrp_attr(get_Add_right(node));
@@ -129,7 +129,7 @@ static int vrp_update_node(ir_node *node)
 
        case iro_Sub: {
                int overflow_top, overflow_bottom;
-               tarval *new_top, *new_bottom;
+               ir_tarval *new_top, *new_bottom;
                const vrp_attr *vrp_left, *vrp_right;
                vrp_left = get_vrp_attr(get_Sub_left(node));
                vrp_right = get_vrp_attr(get_Sub_right(node));
@@ -179,7 +179,7 @@ static int vrp_update_node(ir_node *node)
 
                /* We can only compute this if the right value is a constant*/
                if (is_Const(right)) {
-                       tarval *bits_set, *bits_not_set;
+                       ir_tarval *bits_set, *bits_not_set;
                        bits_set = tarval_rotl(vrp_left->bits_set, get_Const_tarval(right));
                        bits_not_set = tarval_rotl(vrp_left->bits_not_set, get_Const_tarval(right));
                }
@@ -478,7 +478,7 @@ static int vrp_update_node(ir_node *node)
 static void vrp_first_pass(ir_node *n, void *e)
 {
        int i;
-       struct vrp_env_t *env = e;
+       vrp_env_t *env = (vrp_env_t*) e;
 
        if (is_Block(n))
                return;
@@ -503,7 +503,7 @@ static void *vrp_init_node(ir_phase *phase, const ir_node *n)
        vrp_attr *vrp;
 
        DBG((dbg, LEVEL_2, "initialized node nr: %d\n", get_irn_node_nr(n)));
-       vrp = phase_alloc(phase, sizeof(vrp_attr));
+       vrp = (vrp_attr*) phase_alloc(phase, sizeof(vrp_attr));
 
        memset(vrp, 0, sizeof(vrp_attr));
        /* Initialize the vrp information to default */
@@ -543,7 +543,7 @@ void set_vrp_data(ir_graph *irg)
 {
        ir_node *succ, *node;
        int i;
-       struct vrp_env_t *env;
+       vrp_env_t *env;
        ir_phase *phase;
 
        FIRM_DBG_REGISTER(dbg, "ir.ana.vrp");
@@ -554,10 +554,10 @@ void set_vrp_data(ir_graph *irg)
                /* this is our first run */
                phase = new_phase(irg, vrp_init_node);
                irg_register_phase(irg, PHASE_VRP, phase);
-               env = phase_alloc(phase, sizeof(*env));
+               env = (vrp_env_t*) phase_alloc(phase, sizeof(*env));
                phase->priv = env;
        } else {
-               env = phase->priv;
+               env = (vrp_env_t*) phase->priv;
        }
 
        env->workqueue = new_waitq();
@@ -568,7 +568,7 @@ void set_vrp_data(ir_graph *irg)
 
        /* while there are entries in the worklist, continue*/
        while (!waitq_empty(env->workqueue)) {
-               node = waitq_get(env->workqueue);
+               node = (ir_node*) waitq_get(env->workqueue);
 
                if (vrp_update_node(node)) {
                        /* if something changed, add successors to worklist*/
@@ -626,7 +626,7 @@ vrp_attr *vrp_get_info(const ir_node *node)
                return NULL;
        }
 
-       vrp = phase_get_irn_data(phase, node);
+       vrp = (vrp_attr*) phase_get_irn_data(phase, node);
        if (vrp && vrp->valid) {
                return vrp;
        }