+2000-09-26 Michael Hayes <mhayes@cygnus.com>
+
+ * flow.c (flow_loop_pre_header_scan): Punt if loop enters
+ from entry block.
+
2000-09-25 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
sbitmap_zero (loop->pre_header_trace);
ebb = loop->entry_edges[0]->src;
- SET_BIT (loop->pre_header_trace, ebb->index);
- while (ebb->pred->src != ENTRY_BLOCK_PTR
- && ! ebb->pred->pred_next)
+
+ if (ebb != ENTRY_BLOCK_PTR)
{
- ebb = ebb->pred->src;
SET_BIT (loop->pre_header_trace, ebb->index);
+ while (ebb->pred->src != ENTRY_BLOCK_PTR
+ && ! ebb->pred->pred_next)
+ {
+ ebb = ebb->pred->src;
+ SET_BIT (loop->pre_header_trace, ebb->index);
+ }
}
loop->pre_header_root = ebb;