projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
typo
[libfirm]
/
ir
/
be
/
ia32
/
bearch_ia32.c
diff --git
a/ir/be/ia32/bearch_ia32.c
b/ir/be/ia32/bearch_ia32.c
index
c154265
..
3b9c06f
100644
(file)
--- a/
ir/be/ia32/bearch_ia32.c
+++ b/
ir/be/ia32/bearch_ia32.c
@@
-39,11
+39,11
@@
#include "irprintf.h"
#include "iredges_t.h"
#include "ircons.h"
#include "irprintf.h"
#include "iredges_t.h"
#include "ircons.h"
+#include "irflag.h"
#include "irgmod.h"
#include "irgopt.h"
#include "irbitset.h"
#include "irgopt.h"
#include "irgmod.h"
#include "irgopt.h"
#include "irbitset.h"
#include "irgopt.h"
-#include "irdump_grgen.h"
#include "pdeq.h"
#include "pset.h"
#include "debug.h"
#include "pdeq.h"
#include "pset.h"
#include "debug.h"
@@
-933,7
+933,7
@@
static void ia32_before_abi(void *self) {
static void ia32_prepare_graph(void *self) {
ia32_code_gen_t *cg = self;
static void ia32_prepare_graph(void *self) {
ia32_code_gen_t *cg = self;
- /* do local optimi
s
ations */
+ /* do local optimi
z
ations */
optimize_graph_df(cg->irg);
/* TODO: we often have dead code reachable through out-edges here. So for
optimize_graph_df(cg->irg);
/* TODO: we often have dead code reachable through out-edges here. So for
@@
-948,17
+948,22
@@
static void ia32_prepare_graph(void *self) {
be_dump(cg->irg, "-pre_transform", dump_ir_block_graph_sched);
#ifdef FIRM_GRGEN_BE
be_dump(cg->irg, "-pre_transform", dump_ir_block_graph_sched);
#ifdef FIRM_GRGEN_BE
+ // disable CSE, because of two-step node-construction
+ set_opt_cse(0);
+
/* transform nodes into assembler instructions by PBQP magic */
ia32_transform_graph_by_pbqp(cg);
/* transform nodes into assembler instructions by PBQP magic */
ia32_transform_graph_by_pbqp(cg);
-#endif
if (cg->dump)
be_dump(cg->irg, "-after_pbqp_transform", dump_ir_block_graph_sched);
if (cg->dump)
be_dump(cg->irg, "-after_pbqp_transform", dump_ir_block_graph_sched);
+ set_opt_cse(1);
+#else
/* transform remaining nodes into assembler instructions */
ia32_transform_graph(cg);
/* transform remaining nodes into assembler instructions */
ia32_transform_graph(cg);
+#endif
- /* do local optimi
s
ations (mainly CSE) */
+ /* do local optimi
z
ations (mainly CSE) */
optimize_graph_df(cg->irg);
if (cg->dump)
optimize_graph_df(cg->irg);
if (cg->dump)