*** empty log message ***
[libfirm] / ir / opt / escape_ana.c
index 57e9a4e..62d4a7f 100644 (file)
@@ -23,6 +23,7 @@
 #include "irgraph_t.h"
 #include "irnode_t.h"
 #include "type_t.h"
+#include "irgwalk.h"
 #include "irouts.h"
 #include "analyze_irg_args.h"
 #include "irgmod.h"
@@ -47,7 +48,7 @@ typedef struct _walk_env {
 } walk_env_t;
 
 /** debug handle */
-firm_dbg_module_t *dbgHandle;
+DEBUG_ONLY(firm_dbg_module_t *dbgHandle;)
 
 /**
  * checks whether a Raise leaves a method
@@ -348,8 +349,10 @@ static void transform_allocs(ir_graph *irg, walk_env_t *env)
   if (env->nr_removed | env->nr_deads) {
     set_irg_outs_inconsistent(irg);
 
-    if (env->nr_deads)
-      set_irg_dom_inconsistent(irg);
+    if (env->nr_deads) {
+      /* exception control flow might have been changed */
+      set_irg_doms_inconsistent(irg);
+    }
   }
 }
 
@@ -391,8 +394,7 @@ void escape_analysis(int run_scalar_replace)
     return;
   }
 
-  if (! dbgHandle)
-    dbgHandle = firm_dbg_register("firm.opt.escape_ana");
+  FIRM_DBG_REGISTER(dbgHandle, "firm.opt.escape_ana");
 
   /*
    * We treat memory for speed: we first collect all info in a