projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix opt/ldst.c
[libfirm]
/
ir
/
opt
/
scalar_replace.c
diff --git
a/ir/opt/scalar_replace.c
b/ir/opt/scalar_replace.c
index
113aed8
..
67be049
100644
(file)
--- 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
/*
* 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)
{
*/
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.
*
* 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.
*
* 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 it
s root.
*
* @param sel the Sel node
* @param len the length of the path so far
*
* @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);
} else
res = find_path(pred, len);
+ assert(len <= res->path_len);
pos = res->path_len - len;
res->path[pos++].ent = get_Sel_entity(sel);
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));
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)));
(*modes)[key->vnum] = get_type_mode(get_entity_type(get_Sel_entity(sel)));