Tue Aug 24 22:56:35 1999 Jeffrey A Law (law@cygnus.com)
+ * haifa-sched.c (find_rgns): Mark a block found during the DFS search
+ as reachable.
+
* haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
Tue Aug 24 22:41:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
stack[++sp] = current_edge;
SET_BIT (passed, current_edge);
current_edge = OUT_EDGES (child);
+
+ /* This is temporary until haifa is converted to use rth's new
+ cfg routines which have true entry/exit blocks and the
+ appropriate edges from/to those blocks.
+
+ Generally we update dfs_nr for a node when we process its
+ out edge. However, if the node has no out edge then we will
+ not set dfs_nr for that node. This can confuse the scheduler
+ into thinking that we have unreachable blocks, which in turn
+ disables cross block scheduling.
+
+ So, if we have a node with no out edges, go ahead and mark it
+ as reachable now. */
+ if (current_edge == 0)
+ dfs_nr[child] = ++count;
}
/* Another check for unreachable blocks. The earlier test in