summaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index b3d43278477..2d7ee8047d9 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -364,12 +364,10 @@ typedef struct depth_first_search_dsS *depth_first_search_ds;
static int count_basic_blocks PARAMS ((rtx));
static void find_basic_blocks_1 PARAMS ((rtx));
static rtx find_label_refs PARAMS ((rtx, rtx));
-static void clear_edges PARAMS ((void));
static void make_edges PARAMS ((rtx));
static void make_label_edge PARAMS ((sbitmap *, basic_block,
rtx, int));
static void make_eh_edge PARAMS ((sbitmap *, basic_block, rtx));
-static void mark_critical_edges PARAMS ((void));
static void commit_one_edge_insertion PARAMS ((edge));
@@ -434,7 +432,6 @@ static void mark_used_regs PARAMS ((struct propagate_block_info *,
rtx, rtx, rtx));
void dump_flow_info PARAMS ((FILE *));
void debug_flow_info PARAMS ((void));
-static void dump_edge_info PARAMS ((FILE *, edge, int));
static void print_rtl_and_abort_fcn PARAMS ((const char *, int,
const char *))
ATTRIBUTE_NORETURN;
@@ -1118,7 +1115,7 @@ compute_bb_for_insn (max)
/* Free the memory associated with the edge structures. */
-static void
+void
clear_edges ()
{
int i;
@@ -1432,7 +1429,7 @@ make_eh_edge (edge_cache, src, insn)
/* Identify critical edges and set the bits appropriately. */
-static void
+void
mark_critical_edges ()
{
int i, n = n_basic_blocks;
@@ -3094,8 +3091,11 @@ free_basic_block_vars (keep_head_end_p)
if (! keep_head_end_p)
{
- clear_edges ();
- VARRAY_FREE (basic_block_info);
+ if (basic_block_info)
+ {
+ clear_edges ();
+ VARRAY_FREE (basic_block_info);
+ }
n_basic_blocks = 0;
ENTRY_BLOCK_PTR->aux = NULL;
@@ -6390,7 +6390,7 @@ debug_flow_info ()
dump_flow_info (stderr);
}
-static void
+void
dump_edge_info (file, e, do_succ)
FILE *file;
edge e;