X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fscalar_replace.c;h=113aed8edf9ec908b799bb55fbb8929f5556dcdc;hb=9c359401bbbb6cc870909cf556f87a375807bdb7;hp=0d0cd7e663c1310fbe270d100be9704a7e9b8da7;hpb=842280b66974a618f663838a489fd5059300e3b0;p=libfirm diff --git a/ir/opt/scalar_replace.c b/ir/opt/scalar_replace.c index 0d0cd7e66..113aed8ed 100644 --- a/ir/opt/scalar_replace.c +++ b/ir/opt/scalar_replace.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -57,7 +57,7 @@ */ typedef union { ir_entity *ent; - tarval *tv; + ir_tarval *tv; } path_elem_t; /** @@ -66,7 +66,7 @@ typedef union { */ typedef struct path_t { unsigned vnum; /**< The value number. */ - unsigned path_len; /**< The length of the access path. */ + size_t path_len; /**< The length of the access path. */ path_elem_t path[1]; /**< The path. */ } path_t; @@ -86,8 +86,8 @@ DEBUG_ONLY(static firm_dbg_module_t *dbg;) */ static int path_cmp(const void *elt, const void *key, size_t size) { - const path_t *p1 = elt; - const path_t *p2 = key; + const path_t *p1 = (const path_t*)elt; + const path_t *p2 = (const path_t*)key; (void) size; /* we can use memcmp here, because identical tarvals should have identical addresses */ @@ -101,8 +101,8 @@ static int path_cmp(const void *elt, const void *key, size_t size) */ static int ent_cmp(const void *elt, const void *key, size_t size) { - const scalars_t *c1 = elt; - const scalars_t *c2 = key; + const scalars_t *c1 = (const scalars_t*)elt; + const scalars_t *c2 = (const scalars_t*)key; (void) size; return c1->ent != c2->ent; @@ -436,9 +436,10 @@ static int find_possible_replacements(ir_graph *irg) * @param sel the Sel node * @param len the length of the path so far */ -static path_t *find_path(ir_node *sel, unsigned len) +static path_t *find_path(ir_node *sel, size_t len) { - int pos, i, n; + size_t pos; + int i, n; path_t *res; ir_node *pred = get_Sel_ptr(sel); @@ -485,14 +486,15 @@ static unsigned allocate_value_numbers(pset *sels, ir_entity *ent, unsigned vnum DB((dbg, SET_LEVEL_3, " Visiting Sel nodes of entity %+F\n", ent)); /* visit all Sel nodes in the chain of the entity */ - for (sel = get_entity_link(ent); sel; sel = next) { - next = get_irn_link(sel); + for (sel = (ir_node*)get_entity_link(ent); sel != NULL; + sel = next) { + next = (ir_node*)get_irn_link(sel); /* we must mark this sel for later */ pset_insert_ptr(sels, sel); key = find_path(sel, 0); - path = set_find(pathes, key, PATH_SIZE(key), path_hash(key)); + path = (path_t*)set_find(pathes, key, PATH_SIZE(key), path_hash(key)); if (path) { SET_VNUM(sel, path->vnum); @@ -556,7 +558,7 @@ typedef struct env_t { */ static void topologic_walker(ir_node *node, void *ctx) { - env_t *env = ctx; + env_t *env = (env_t*)ctx; ir_graph *irg = get_irn_irg(node); ir_node *adr, *block, *mem, *val; ir_mode *mode; @@ -751,7 +753,7 @@ int scalar_replacement_opt(ir_graph *irg) if (nvals > 0) { do_scalar_replacements(irg, sels, nvals, modes); - foreach_set(set_ent, value) { + foreach_set(set_ent, scalars_t*, value) { free_entity(value->ent); }