Commit c2b7e122 by Richard Henderson Committed by Richard Henderson

flow.c (find_basic_blocks): Correctly determine when a call is within an exception region.

        * flow.c (find_basic_blocks): Correctly determine when a call
        is within an exception region.

From-SVN: r22928
parent 0cc291f7
Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com>
* flow.c (find_basic_blocks): Correctly determine when a call
is within an exception region.
Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com) Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com)
* Makefile.in (cpplib.o): Use unlibsubdir. * Makefile.in (cpplib.o): Use unlibsubdir.
......
...@@ -314,6 +314,7 @@ find_basic_blocks (f, nregs, file, live_reachable_p) ...@@ -314,6 +314,7 @@ find_basic_blocks (f, nregs, file, live_reachable_p)
register RTX_CODE prev_code = JUMP_INSN; register RTX_CODE prev_code = JUMP_INSN;
register RTX_CODE code; register RTX_CODE code;
int eh_region = 0; int eh_region = 0;
int call_had_abnormal_edge = 0;
max_uid_for_flow = 0; max_uid_for_flow = 0;
...@@ -335,7 +336,7 @@ find_basic_blocks (f, nregs, file, live_reachable_p) ...@@ -335,7 +336,7 @@ find_basic_blocks (f, nregs, file, live_reachable_p)
i++; i++;
else if (prev_code == CALL_INSN) else if (prev_code == CALL_INSN)
{ {
if (nonlocal_label_list != 0 || eh_region) if (call_had_abnormal_edge)
i++; i++;
else else
{ {
...@@ -360,6 +361,10 @@ find_basic_blocks (f, nregs, file, live_reachable_p) ...@@ -360,6 +361,10 @@ find_basic_blocks (f, nregs, file, live_reachable_p)
if (code == CALL_INSN && in_libcall_block) if (code == CALL_INSN && in_libcall_block)
code = INSN; code = INSN;
/* Record whether this call created an edge. */
if (code == CALL_INSN)
call_had_abnormal_edge = (nonlocal_label_list != 0 || eh_region);
if (code != NOTE) if (code != NOTE)
prev_code = code; prev_code = code;
else if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_EH_REGION_BEG) else if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_EH_REGION_BEG)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment