disable CSE in PBQP-transform phase, this is necessary since we create raw nodes...
authorSebastian Buchwald <Sebastian.Buchwald@kit.edu>
Wed, 18 Jun 2008 21:36:47 +0000 (21:36 +0000)
committerSebastian Buchwald <Sebastian.Buchwald@kit.edu>
Wed, 18 Jun 2008 21:36:47 +0000 (21:36 +0000)
[r20165]

ir/be/ia32/bearch_ia32.c

index 2748267..85e2c36 100644 (file)
@@ -39,6 +39,7 @@
 #include "irprintf.h"
 #include "iredges_t.h"
 #include "ircons.h"
+#include "irflag.h"
 #include "irgmod.h"
 #include "irgopt.h"
 #include "irbitset.h"
@@ -948,11 +949,15 @@ 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);
 
        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 */