X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fscalar_replace.c;h=8ffa6da3ff60fae3872fb03bd089fcfd7df7a3a5;hb=44fec44bd47ef88ae276179866d4a65cda6e0253;hp=6f322834b914c51c40c24f97fdf1302a7df05520;hpb=b73f55938b96a97a0c9322f22e18258e50546c93;p=libfirm diff --git a/ir/opt/scalar_replace.c b/ir/opt/scalar_replace.c index 6f322834b..8ffa6da3f 100644 --- a/ir/opt/scalar_replace.c +++ b/ir/opt/scalar_replace.c @@ -64,7 +64,7 @@ typedef struct _path_t { typedef struct _scalars_t { entity *ent; /**< A entity for scalar replacement. */ - type *ent_owner; /**< The owner of this entity. */ + ir_type *ent_owner; /**< The owner of this entity. */ } scalars_t; @@ -132,13 +132,12 @@ static int is_const_sel(ir_node *sel) { */ int is_address_taken(ir_node *sel) { - int i, n; + int i; if (! is_const_sel(sel)) return 1; - n = get_irn_n_outs(sel); - for (i = 0; i < n; ++i) { + for (i = get_irn_n_outs(sel) - 1; i >= 0; --i) { ir_node *succ = get_irn_out(sel, i); switch (get_irn_opcode(succ)) { @@ -269,7 +268,7 @@ static int find_possible_replacements(ir_graph *irg) if (get_irn_op(succ) == op_Sel) { entity *ent = get_Sel_entity(succ); - type *ent_type; + ir_type *ent_type; if (get_entity_link(ent) == ADDRESS_TAKEN) continue; @@ -675,7 +674,7 @@ void scalar_replacement_opt(ir_graph *irg) ir_mode **modes; set *set_ent; pset *sels; - type *ent_type; + ir_type *ent_type; ir_graph *rem; if (! get_opt_scalar_replacement())