aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-02-09 12:06:41 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-02-09 11:06:41 +0000
commit83fd323c4c5fd8f067803028a71870b0dfd8ae30 (patch)
tree6b24a29133ae24969b1e27da72dcf451d715b9fb /gcc
parent4ee7aa6044a246fc809522b75d67ed12bd03ffc1 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cfgrtl.c4
-rw-r--r--gcc/reload1.c8
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 ();
}