summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-09 11:06:41 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-09 11:06:41 +0000
commitaaf52ffbaf8c218eee58f8a521b6ee85aac795ef (patch)
tree6b24a29133ae24969b1e27da72dcf451d715b9fb /gcc
parent6d405dc8312d54095318f1edfeda467dc1a4a2fe (diff)
downloadgcc-aaf52ffbaf8c218eee58f8a521b6ee85aac795ef.tar.gz
* cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
* reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges possibly got duplicated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62599 138bc75d-0d04-0410-961f-82ee72b054a4
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 f89f7b17866..b078754b890 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 07f4a8c0957..5209aa2b85f 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 f6498f10e29..33e15a1f0d4 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 ();
}