projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added CopyKeep
[libfirm]
/
ir
/
be
/
bechordal_main.c
diff --git
a/ir/be/bechordal_main.c
b/ir/be/bechordal_main.c
index
b301eee
..
ad061b2
100644
(file)
--- a/
ir/be/bechordal_main.c
+++ b/
ir/be/bechordal_main.c
@@
-49,9
+49,9
@@
#include "bespillilp.h"
#endif /* WITH_ILP */
#include "bespillilp.h"
#endif /* WITH_ILP */
+#include "becopystat.h"
#include "becopyopt.h"
#include "bessadestr.h"
#include "becopyopt.h"
#include "bessadestr.h"
-#include "becopystat.h"
void be_ra_chordal_check(be_chordal_env_t *chordal_env) {
void be_ra_chordal_check(be_chordal_env_t *chordal_env) {
@@
-292,9
+292,6
@@
static void be_ra_chordal_main(const be_irg_t *bi)
be_liveness(irg);
be_check_pressure(&chordal_env);
be_liveness(irg);
be_check_pressure(&chordal_env);
- be_liveness(irg);
- be_check_pressure(&chordal_env);
-
/* Color the graph. */
be_ra_chordal_color(&chordal_env);
dump(BE_CH_DUMP_CONSTR, irg, chordal_env.cls, "-color", dump_ir_block_graph_sched);
/* Color the graph. */
be_ra_chordal_color(&chordal_env);
dump(BE_CH_DUMP_CONSTR, irg, chordal_env.cls, "-color", dump_ir_block_graph_sched);
@@
-304,8
+301,17
@@
static void be_ra_chordal_main(const be_irg_t *bi)
be_ifg_check(chordal_env.ifg);
/* copy minimization */
be_ifg_check(chordal_env.ifg);
/* copy minimization */
- copystat_collect_cls(&chordal_env);
+#ifdef COPYOPT_STAT
co_compare_solvers(&chordal_env);
co_compare_solvers(&chordal_env);
+#else
+ {
+ copy_opt_t *co = new_copy_opt(&chordal_env, co_get_costs_loop_depth);
+ co_build_ou_structure(co);
+ co_solve_heuristic(co);
+ co_free_ou_structure(co);
+ free_copy_opt(co);
+ }
+#endif
dump(BE_CH_DUMP_COPYMIN, irg, chordal_env.cls, "-copymin", dump_ir_block_graph_sched);
be_ra_chordal_check(&chordal_env);
dump(BE_CH_DUMP_COPYMIN, irg, chordal_env.cls, "-copymin", dump_ir_block_graph_sched);
be_ra_chordal_check(&chordal_env);