Switch irg index to type size_t, making the API more consistent.
[libfirm] / ir / opt / scalar_replace.c
index 113aed8..67be049 100644 (file)
@@ -172,7 +172,7 @@ static int check_load_store_mode(ir_mode *mode, ir_mode *ent_mode)
 
 /*
  * Returns non-zero, if the address of an entity
- * represented by a Sel node (or it's successor Sels) is taken.
+ * represented by a Sel node (or its successor Sels) is taken.
  */
 int is_address_taken(ir_node *sel)
 {
@@ -321,7 +321,7 @@ static void *ADDRESS_TAKEN = &_x;
  *
  * This function finds variables on the (members of the) frame type
  * that can be scalar replaced, because their address is never taken.
- * If such a variable is found, it's entity link will hold a list of all
+ * If such a variable is found, its entity link will hold a list of all
  * Sel nodes, that selects the atomic fields of this entity.
  * Otherwise, the link will be ADDRESS_TAKEN or NULL.
  *
@@ -431,7 +431,7 @@ static int find_possible_replacements(ir_graph *irg)
 }
 
 /**
- * Return a path from the Sel node sel to it's root.
+ * Return a path from the Sel node "sel" to its root.
  *
  * @param sel  the Sel node
  * @param len  the length of the path so far
@@ -454,6 +454,7 @@ static path_t *find_path(ir_node *sel, size_t len)
        } else
                res = find_path(pred, len);
 
+       assert(len <= res->path_len);
        pos = res->path_len - len;
 
        res->path[pos++].ent = get_Sel_entity(sel);
@@ -507,7 +508,7 @@ static unsigned allocate_value_numbers(pset *sels, ir_entity *ent, unsigned vnum
                        SET_VNUM(sel, key->vnum);
                        DB((dbg, SET_LEVEL_3, "  %+F represents value %u\n", sel, key->vnum));
 
-                       ARR_EXTO(ir_mode *, *modes, (int)((key->vnum + 15) & ~15));
+                       ARR_EXTO(ir_mode *, *modes, (key->vnum + 15) & ~15);
 
                        (*modes)[key->vnum] = get_type_mode(get_entity_type(get_Sel_entity(sel)));