From e29a07c4e5890ec7da25bbe9d1f049648a686ef8 Mon Sep 17 00:00:00 2001 From: Sebastian Buchwald Date: Wed, 18 Jun 2008 21:36:47 +0000 Subject: [PATCH] disable CSE in PBQP-transform phase, this is necessary since we create raw nodes (step one) before setting the right attributes (step two) and CSE between the steps are deadly [r20165] --- ir/be/ia32/bearch_ia32.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ir/be/ia32/bearch_ia32.c b/ir/be/ia32/bearch_ia32.c index 274826756..85e2c36cd 100644 --- a/ir/be/ia32/bearch_ia32.c +++ b/ir/be/ia32/bearch_ia32.c @@ -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 */ -- 2.20.1