projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix irio not working correctly anymore after MacroBlocks were removed
[libfirm]
/
ir
/
opt
/
ircgopt.c
diff --git
a/ir/opt/ircgopt.c
b/ir/opt/ircgopt.c
index
eca8ffb
..
3bded61
100644
(file)
--- a/
ir/opt/ircgopt.c
+++ b/
ir/opt/ircgopt.c
@@
-27,7
+27,7
@@
/*
* Entfernen von nicht erreichbaren (aufrufbaren) Methoden. Die Menge
/*
* Entfernen von nicht erreichbaren (aufrufbaren) Methoden. Die Menge
- * der nicht erreichbaren Methoden wird aus der Absch
ä
tzung der
+ * der nicht erreichbaren Methoden wird aus der Absch
ä
tzung der
* Aufrufrelation bestimmt.
*/
#include "config.h"
* Aufrufrelation bestimmt.
*/
#include "config.h"
@@
-52,7
+52,7
@@
DEBUG_ONLY(static firm_dbg_module_t *dbg);
*/
static void collect_call(ir_node *node, void *env)
{
*/
static void collect_call(ir_node *node, void *env)
{
- ir_node *head = env;
+ ir_node *head =
(ir_node*)
env;
if (is_Call(node)) {
set_irn_link(node, get_irn_link(head));
if (is_Call(node)) {
set_irn_link(node, get_irn_link(head));
@@
-81,7
+81,7
@@
void gc_irgs(int n_keep, ir_entity ** keep_arr)
for (i = 0; i < n_keep; ++i) {
marked[i] = keep_arr[i];
set_entity_link(marked[i], MARK);
for (i = 0; i < n_keep; ++i) {
marked[i] = keep_arr[i];
set_entity_link(marked[i], MARK);
- DB((dbg, LEVEL_1, " method %+F kept alive.\n", marked[i]));
+ DB((dbg, LEVEL_1, " method %+F kept alive.\n", marked[i]));
}
for (i = 0; i < ARR_LEN(marked); ++i) {
}
for (i = 0; i < ARR_LEN(marked); ++i) {
@@
-98,7
+98,8
@@
void gc_irgs(int n_keep, ir_entity ** keep_arr)
irg_walk_graph(irg, firm_clear_link, collect_call, node);
/* iterate calls */
irg_walk_graph(irg, firm_clear_link, collect_call, node);
/* iterate calls */
- for (node = get_irn_link(node); node; node = get_irn_link(node)) {
+ for (node = (ir_node*)get_irn_link(node); node != NULL;
+ node = (ir_node*)get_irn_link(node)) {
int i;
assert(is_Call(node));
int i;
assert(is_Call(node));
@@
-127,10
+128,10
@@
void gc_irgs(int n_keep, ir_entity ** keep_arr)
if (get_entity_link(ent) == MARK)
continue;
if (get_entity_link(ent) == MARK)
continue;
- DB((dbg, LEVEL_1, " freeing method %+F\n",
ent));
+ DB((dbg, LEVEL_1, " freeing method %+F\n", ent));
remove_irp_irg(irg);
remove_irp_irg(irg);
-
remove_class_member(get_entity_owner(ent),
ent);
+
free_entity(
ent);
}
}
}
}