diff options
author | Jan Hubicka <jh@suse.cz> | 2003-02-09 12:06:41 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-02-09 11:06:41 +0000 |
commit | 83fd323c4c5fd8f067803028a71870b0dfd8ae30 (patch) | |
tree | 6b24a29133ae24969b1e27da72dcf451d715b9fb | |
parent | 4ee7aa6044a246fc809522b75d67ed12bd03ffc1 (diff) | |
download | gcc-83fd323c4c5fd8f067803028a71870b0dfd8ae30.zip gcc-83fd323c4c5fd8f067803028a71870b0dfd8ae30.tar.gz gcc-83fd323c4c5fd8f067803028a71870b0dfd8ae30.tar.bz2 |
cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
* cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
* reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
possibly got duplicated.
From-SVN: r62599
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cfgrtl.c | 4 | ||||
-rw-r--r-- | gcc/reload1.c | 8 |
3 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f89f7b1..b078754 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sat Feb 8 00:21:22 CET 2003 Jan Hubicka <jh@suse.cz> + + * cfgrtl.c (verify_flow_info): Use control_flow_insn_p. + * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges + possibly got duplicated. + 2003-02-08 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (override_options): Turn off explicit diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 07f4a8c..5209aa2 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -2008,9 +2008,7 @@ verify_flow_info () if (x == bb->end) break; - if (GET_CODE (x) == JUMP_INSN - || GET_CODE (x) == CODE_LABEL - || GET_CODE (x) == BARRIER) + if (control_flow_insn_p (x)) { error ("in basic block %d:", bb->index); fatal_insn ("flow control insn inside a basic block", x); diff --git a/gcc/reload1.c b/gcc/reload1.c index f6498f1..33e15a1 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -9533,6 +9533,14 @@ fixup_abnormal_edges () } } } + /* We've possibly turned single trapping insn into multiple ones. */ + if (flag_non_call_exceptions) + { + sbitmap blocks; + blocks = sbitmap_alloc (last_basic_block); + sbitmap_ones (blocks); + find_many_sub_basic_blocks (blocks); + } if (inserted) commit_edge_insertions (); } |