X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fscalar_replace.c;h=67be0499311fca08097886be3bd398e4e4965fa3;hb=e1d0a7c980faef658ffd4fd63a43e74b764a7dfe;hp=113aed8edf9ec908b799bb55fbb8929f5556dcdc;hpb=9c359401bbbb6cc870909cf556f87a375807bdb7;p=libfirm diff --git a/ir/opt/scalar_replace.c b/ir/opt/scalar_replace.c index 113aed8ed..67be04993 100644 --- a/ir/opt/scalar_replace.c +++ b/ir/opt/scalar_replace.c @@ -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)));