Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
+ * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
+ nested exceptions correctly.
+
* unroll.c (find_splittable_givs): Don't split givs with a dest_reg
that was created by loop.
/* If we encounter a CALL_INSN, note which exception handler it
might pass control to.
+ Because we do rethrows by loading the address of a label into
+ __eh_pc and throwing, we need to treat labels as potentially
+ jumping to exception handlers.
+
If doing asynchronous exceptions, record the active EH handler
for every insn, since most insns can throw. */
else if (eh_note
&& (asynchronous_exceptions
+ || code == CODE_LABEL
|| (GET_CODE (insn) == CALL_INSN
&& ! find_reg_note (insn, REG_RETVAL, NULL_RTX))))
active_eh_handler[INSN_UID (insn)] = XEXP (eh_note, 0);