From: Michael Beck Date: Mon, 10 Mar 2008 13:46:46 +0000 (+0000) Subject: use optimize_graph_df() instead of old local_optimize() X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=9c84326f69d6dc9c6cd98ea909c3cf5275b2c00d;p=libfirm use optimize_graph_df() instead of old local_optimize() [r18046] --- diff --git a/ir/lower/lower_intrinsics.c b/ir/lower/lower_intrinsics.c index e5ac97a0a..281c9eb8c 100644 --- a/ir/lower/lower_intrinsics.c +++ b/ir/lower/lower_intrinsics.c @@ -38,11 +38,12 @@ #include "irgmod.h" #include "irgopt.h" #include "trouts.h" +#include "irvrfy.h" #include "pmap.h" #include "xmalloc.h" #include "iropt_dbg.h" -/** Walker environment */ +/** Walker environment. */ typedef struct _walker_env { pmap *c_map; /**< The intrinsic call map. */ unsigned nr_of_intrinsics; /**< statistics */ @@ -126,21 +127,24 @@ unsigned lower_intrinsics(i_record *list, int length, int part_block_used) { wenv.nr_of_intrinsics = 0; irg_walk_graph(irg, NULL, call_mapper, &wenv); - if (wenv.nr_of_intrinsics) { - /* changes detected */ + if (wenv.nr_of_intrinsics > 0) { + /* Changes detected: we might have added/removed nodes. */ set_irg_outs_inconsistent(irg); set_irg_callee_info_state(irg, irg_callee_info_inconsistent); - /* exception control flow might have changed */ + /* Exception control flow might have changed / new block might have added. */ set_irg_doms_inconsistent(irg); set_irg_extblk_inconsistent(irg); set_irg_loopinfo_inconsistent(irg); - /* calls might be removed/added */ + /* Calls might be removed/added. */ set_trouts_inconsistent(); - /* optimize it, tuple might be created */ - local_optimize_graph(irg); + /* verify here */ + irg_verify(irg, VRFY_NORMAL); + + /* Optimize it, tuple might be created. */ + optimize_graph_df(irg); nr_of_intrinsics += wenv.nr_of_intrinsics; }