projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not mark the transformed as visited. It makes no sense at all.
[libfirm]
/
ir
/
be
/
becopyheur2.c
diff --git
a/ir/be/becopyheur2.c
b/ir/be/becopyheur2.c
index
60f8b66
..
f4ebbff
100644
(file)
--- a/
ir/be/becopyheur2.c
+++ b/
ir/be/becopyheur2.c
@@
-892,15
+892,13
@@
static void process_cloud(co2_cloud_t *cloud)
co2_t *env = cloud->env;
int n_regs = env->n_regs;
int n_edges = 0;
co2_t *env = cloud->env;
int n_regs = env->n_regs;
int n_edges = 0;
- int *mst_edges =
xmalloc(cloud->n_memb * cloud->n_memb * sizeof(mst_edges[0])
);
+ int *mst_edges =
XMALLOCNZ(int, cloud->n_memb * cloud->n_memb
);
pdeq *q;
edge_t *edges;
int i;
int best_col;
pdeq *q;
edge_t *edges;
int i;
int best_col;
- memset(mst_edges, 0, cloud->n_memb * cloud->n_memb * sizeof(mst_edges[0]));
-
/* Collect all edges in the cloud on an obstack and sort the increasingly */
obstack_init(&cloud->obst);
for(i = 0; i < cloud->n_memb; ++i) {
/* Collect all edges in the cloud on an obstack and sort the increasingly */
obstack_init(&cloud->obst);
for(i = 0; i < cloud->n_memb; ++i) {
@@
-1063,7
+1061,7
@@
static void process(co2_t *env)
}
i = 0;
}
i = 0;
- clouds =
xmalloc(n_clouds * sizeof(clouds[0])
);
+ clouds =
XMALLOCN(co2_cloud_t*, n_clouds
);
list_for_each_entry(co2_cloud_t, pos, &env->cloud_head, list)
clouds[i++] = pos;
qsort(clouds, n_clouds, sizeof(clouds[0]), cmp_clouds_gt);
list_for_each_entry(co2_cloud_t, pos, &env->cloud_head, list)
clouds[i++] = pos;
qsort(clouds, n_clouds, sizeof(clouds[0]), cmp_clouds_gt);
@@
-1261,9
+1259,7
@@
int co_solve_heuristic_new(copy_opt_t *co)
env.co = co;
env.n_regs = co->cls->n_regs;
env.ignore_regs = bitset_alloca(co->cls->n_regs);
env.co = co;
env.n_regs = co->cls->n_regs;
env.ignore_regs = bitset_alloca(co->cls->n_regs);
- arch_put_non_ignore_regs(co->aenv, co->cls, env.ignore_regs);
- bitset_flip_all(env.ignore_regs);
- be_abi_put_ignore_regs(co->cenv->birg->abi, co->cls, env.ignore_regs);
+ be_put_ignore_regs(co->cenv->birg, co->cls, env.ignore_regs);
FIRM_DBG_REGISTER(env.dbg, "firm.be.co2");
INIT_LIST_HEAD(&env.cloud_head);
FIRM_DBG_REGISTER(env.dbg, "firm.be.co2");
INIT_LIST_HEAD(&env.cloud_head);