#include "irdom.h"
#include "ircons.h"
#include "irbitset.h"
+#include "irnode.h"
+#include "ircons.h"
#include "debug.h"
#include "xmalloc.h"
#include "execfreq.h"
#include "bespillbelady.h"
#include "bespillmorgan.h"
+#include "bespillslots.h"
#include "belower.h"
#ifdef WITH_ILP
#include "bespillremat.h"
#endif /* WITH_ILP */
+#include "bejavacoal.h"
#include "becopystat.h"
#include "becopyopt.h"
#include "bessadestr.h"
#include "beverify.h"
#include "bespillcost.h"
+#include "benode_t.h"
void be_ra_chordal_check(be_chordal_env_t *chordal_env) {
const arch_env_t *arch_env = chordal_env->birg->main_env->arch_env;
}
co_register_options(chordal_grp);
- java_coal_register_options(chordal_grp);
+ be_java_coal_register_options(chordal_grp);
}
#endif /* WITH_LIBCORE */
/* Perform the following for each register class. */
for (j = 0, m = arch_isa_get_n_reg_class(isa); j < m; ++j) {
- FILE *f;
- copy_opt_t *co = NULL;
-
chordal_env.cls = arch_isa_get_reg_class(isa, j);
chordal_env.border_heads = pmap_create();
chordal_env.ignore_colors = bitset_malloc(chordal_env.cls->n_regs);
);
dump(BE_CH_DUMP_SPILL, irg, chordal_env.cls, "-spill", dump_ir_block_graph_sched);
- be_compute_spill_offsets(&chordal_env);
check_for_memory_operands(&chordal_env);
be_abi_fix_stack_nodes(bi->abi, chordal_env.lv);
bitset_free(chordal_env.ignore_colors);
}
+ be_coalesce_spillslots(&chordal_env);
+
BE_TIMER_PUSH(ra_timer.t_epilog);
dump(BE_CH_DUMP_LOWER, irg, NULL, "-spilloff", dump_ir_block_graph_sched);