X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillslots.c;h=6265111aa5a64a1f9b481d9aaf5cb74969c614b7;hb=6082146d47925a3dbbc78da30ca0a89276457dce;hp=7faff45710d760bce96e1087cd513a72b1661afd;hpb=f6750fd8b384d9795d13ab2985b4a4a631a31e7e;p=libfirm diff --git a/ir/be/bespillslots.c b/ir/be/bespillslots.c index 7faff4571..6265111aa 100644 --- a/ir/be/bespillslots.c +++ b/ir/be/bespillslots.c @@ -37,7 +37,7 @@ #include "unionfind.h" #include "irdump_t.h" -#include "benode_t.h" +#include "benode.h" #include "besched.h" #include "bespill.h" #include "bespillslots.h" @@ -182,7 +182,7 @@ static spill_t *collect_memphi(be_fec_env_t *env, ir_node *node, } /* add an affinity edge */ - affinty_edge = obstack_alloc(&env->obst, sizeof(affinty_edge[0])); + affinty_edge = OALLOC(&env->obst, affinity_edge_t); affinty_edge->affinity = get_block_execfreq(exec_freq, get_nodes_block(arg)); affinty_edge->slot1 = res->spillslot; affinty_edge->slot2 = arg_spill->spillslot; @@ -222,7 +222,7 @@ static int merge_interferences(be_fec_env_t *env, bitset_t** interferences, /* merge spillslots and interferences */ res = uf_union(spillslot_unionfind, s1, s2); /* we assume that we always merge s2 to s1 so swap s1, s2 if necessary */ - if(res != 0) { + if(res != s1) { int t = s1; s1 = s2; s2 = t; @@ -569,7 +569,8 @@ static void assign_spill_entity(ir_node *node, ir_entity *entity) return; } - /* beware: we might have Stores with Memory Proj's, ia32 fisttp for instance */ + /* beware: we might have Stores with Memory Proj's, ia32 fisttp for + instance */ node = skip_Proj(node); assert(arch_get_frame_entity(node) == NULL); arch_set_frame_entity(node, entity); @@ -643,7 +644,7 @@ static void assign_spillslots(be_fec_env_t *env) memperm = get_memperm(env, predblock); - entry = obstack_alloc(&env->obst, sizeof(entry[0])); + entry = OALLOC(&env->obst, memperm_entry_t); entry->node = node; entry->pos = i; entry->in = argslot->entity;