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
/
bespill.c
diff --git
a/ir/be/bespill.c
b/ir/be/bespill.c
index
edebe35
..
3676e91
100644
(file)
--- a/
ir/be/bespill.c
+++ b/
ir/be/bespill.c
@@
-155,7
+155,7
@@
spill_env_t *be_new_spill_env(be_irg_t *birg)
{
const arch_env_t *arch_env = birg->main_env->arch_env;
{
const arch_env_t *arch_env = birg->main_env->arch_env;
- spill_env_t *env
= xmalloc(sizeof(env[0])
);
+ spill_env_t *env
= XMALLOC(spill_env_t
);
env->spills = new_set(cmp_spillinfo, 1024);
env->irg = be_get_birg_irg(birg);
env->birg = birg;
env->spills = new_set(cmp_spillinfo, 1024);
env->irg = be_get_birg_irg(birg);
env->birg = birg;
@@
-714,6
+714,7
@@
static ir_node *do_remat(spill_env_t *env, ir_node *spilled, ir_node *reloader)
get_irn_op(spilled), get_irn_mode(spilled),
get_irn_arity(spilled), ins);
copy_node_attr(spilled, res);
get_irn_op(spilled), get_irn_mode(spilled),
get_irn_arity(spilled), ins);
copy_node_attr(spilled, res);
+ arch_env_mark_remat(env->arch_env, res);
new_backedge_info(res);
DBG((dbg, LEVEL_1, "Insert remat %+F of %+F before reloader %+F\n", res, spilled, reloader));
new_backedge_info(res);
DBG((dbg, LEVEL_1, "Insert remat %+F of %+F before reloader %+F\n", res, spilled, reloader));