typo
[libfirm] / ir / be / ia32 / bearch_ia32.c
index c154265..3b9c06f 100644 (file)
 #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 "irdump_grgen.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;
 
-       /* do local optimisations */
+       /* do local optimizations */
        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
+       // 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);
-#endif
 
        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);
+#endif
 
-       /* do local optimisations (mainly CSE) */
+       /* do local optimizations (mainly CSE) */
        optimize_graph_df(cg->irg);
 
        if (cg->dump)