#include "unionfind.h"
#include "irdump_t.h"
-#include "benode_t.h"
+#include "benode.h"
#include "besched.h"
+#include "bespill.h"
#include "bespillslots.h"
#include "bechordal_t.h"
#include "bestatevent.h"
-#include "bespilloptions.h"
#include "bemodule.h"
#include "beintlive_t.h"
-#include "beirg_t.h"
-#include "bearch_t.h"
+#include "beirg.h"
+#include "bearch.h"
#define DBG_COALESCING 1
#define DBG_INTERFERENCES 2
}
/* 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;
/* 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;
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);
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;
nodes[i] = arg;
}
- mempermnode = be_new_MemPerm(arch_env, irg, memperm->block,
+ mempermnode = be_new_MemPerm(arch_env, memperm->block,
memperm->entrycount, nodes);
/* insert node into schedule */