aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-02-25 21:00:00 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2004-02-25 20:00:00 +0000
commit12c3874e62ea28f9df3f14e93bba5f624b1a15d9 (patch)
tree8328d527b50b846c05df0b06c0dc56a80978890e /gcc/cfgbuild.c
parentb29610b3cfc461e3cd119c6892c31a0832d9daaf (diff)
downloadgcc-12c3874e62ea28f9df3f14e93bba5f624b1a15d9.zip
gcc-12c3874e62ea28f9df3f14e93bba5f624b1a15d9.tar.gz
gcc-12c3874e62ea28f9df3f14e93bba5f624b1a15d9.tar.bz2
basic-block.h (make_eh_edge, [...]): Declare.
* basic-block.h (make_eh_edge, break_superblocks): Declare. * cfgbuild.c (make_eh_edge): Make global. * cfglayout.c (break_superblocks): Likewise; fix memory leak. * except.c (build_post_landing_pads, connect_post_landing_pads, dw2_build_landing_pads, sjlj_emit_function_enter, sjlj_emit_function_exit, sjlj_emit_dispatch_table, sjlj_build_landing_pads): Update CFG. (emit_to_new_bb_before): New function. (finish_eh_generation): Do not rebuild the CFG. From-SVN: r78448
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 5805e58..00c53a4 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -53,7 +53,6 @@ static void find_basic_blocks_1 (rtx);
static rtx find_label_refs (rtx, rtx);
static void make_edges (rtx, basic_block, basic_block, int);
static void make_label_edge (sbitmap *, basic_block, rtx, int);
-static void make_eh_edge (sbitmap *, basic_block, rtx);
static void find_bb_boundaries (basic_block);
static void compute_outgoing_frequencies (basic_block);
@@ -240,7 +239,7 @@ make_label_edge (sbitmap *edge_cache, basic_block src, rtx label, int flags)
/* Create the edges generated by INSN in REGION. */
-static void
+void
make_eh_edge (sbitmap *edge_cache, basic_block src, rtx insn)
{
int is_call = GET_CODE (insn) == CALL_INSN ? EDGE_ABNORMAL_CALL : 0;