local_optimize_df():
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 12 Jun 2006 14:48:44 +0000 (14:48 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 12 Jun 2006 14:48:44 +0000 (14:48 +0000)
when running the wait queue, check if a node is already dead before optimizing it ...
This is needed due to the changes of the exchange() semantics, which now kills
the old node in both (ir_edges enabled and not) modes.

[r7915]

ir/ir/irgopt.c

index 53829b5..0dbdff6 100644 (file)
@@ -177,7 +177,8 @@ void optimize_graph_df(ir_graph *irg) {
   /* finish the wait queue */
   while (! pdeq_empty(waitq)) {
     ir_node *n = pdeq_getl(waitq);
-    opt_walker(n, waitq);
+    if (! is_Bad(n))
+      opt_walker(n, waitq);
   }
 
   del_pdeq(waitq);