(free_aux_for_blocks): here.
(clear_aux_for_edges): Split from ...
(free_aux_for_edges): here.
* basic-block.h: Declare them.
* lcm.c (compute_antinout_edge): Use them.
(compute_laterin, compute_available, compute_nearerout): Likewise.
(optimize_mode_switching): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46534
138bc75d-0d04-0410-961f-
82ee72b054a4
2001-10-26 Richard Henderson <rth@redhat.com>
+ * cfg.c (clear_aux_for_blocks): Split out of ...
+ (free_aux_for_blocks): here.
+ (clear_aux_for_edges): Split from ...
+ (free_aux_for_edges): here.
+ * basic-block.h: Declare them.
+ * lcm.c (compute_antinout_edge): Use them.
+ (compute_laterin, compute_available, compute_nearerout): Likewise.
+ (optimize_mode_switching): Likewise.
+
+2001-10-26 Richard Henderson <rth@redhat.com>
+
* Makefile.in (unstage*): Remove as, ld, collect-ld before
moving everything back to the main build directory.
int, FILE *));
extern void alloc_aux_for_block PARAMS ((basic_block, int));
extern void alloc_aux_for_blocks PARAMS ((int));
+extern void clear_aux_for_blocks PARAMS ((void));
extern void free_aux_for_blocks PARAMS ((void));
extern void alloc_aux_for_edge PARAMS ((edge, int));
extern void alloc_aux_for_edges PARAMS ((int));
+extern void clear_aux_for_edges PARAMS ((void));
extern void free_aux_for_edges PARAMS ((void));
/* This function is always defined so it can be called from the
}
}
-/* Free data allocated in block_aux_obstack and clear AUX pointers
- of all blocks. */
+/* Clear AUX pointers of all blocks. */
void
-free_aux_for_blocks ()
+clear_aux_for_blocks ()
{
int i;
- if (!first_block_aux_obj)
- abort ();
- obstack_free (&block_aux_obstack, first_block_aux_obj);
for (i = 0; i < n_basic_blocks; i++)
BASIC_BLOCK (i)->aux = NULL;
ENTRY_BLOCK_PTR->aux = NULL;
EXIT_BLOCK_PTR->aux = NULL;
+}
+
+/* Free data allocated in block_aux_obstack and clear AUX pointers
+ of all blocks. */
+
+void
+free_aux_for_blocks ()
+{
+ if (!first_block_aux_obj)
+ abort ();
+ obstack_free (&block_aux_obstack, first_block_aux_obj);
first_block_aux_obj = NULL;
+
+ clear_aux_for_blocks ();
}
/* Allocate an memory edge of SIZE as BB->aux. The obstack must
}
}
-/* Free data allocated in edge_aux_obstack and clear AUX pointers
- of all edges. */
+/* Clear AUX pointers of all edges. */
void
-free_aux_for_edges ()
+clear_aux_for_edges ()
{
int i;
- if (!first_edge_aux_obj)
- abort ();
- obstack_free (&edge_aux_obstack, first_edge_aux_obj);
for (i = -1; i < n_basic_blocks; i++)
{
basic_block bb;
for (e = bb->succ; e; e = e->succ_next)
e->aux = NULL;
}
+}
+
+/* Free data allocated in edge_aux_obstack and clear AUX pointers
+ of all edges. */
+
+void
+free_aux_for_edges ()
+{
+ if (!first_edge_aux_obj)
+ abort ();
+ obstack_free (&edge_aux_obstack, first_edge_aux_obj);
first_edge_aux_obj = NULL;
+
+ clear_aux_for_edges ();
}
}
}
+ clear_aux_for_edges ();
+ clear_aux_for_blocks ();
free (worklist);
}
laterin[n_basic_blocks],
later[(size_t) e->aux]);
+ clear_aux_for_edges ();
free (worklist);
}
}
}
+ clear_aux_for_edges ();
+ clear_aux_for_blocks ();
free (worklist);
}
nearerout[n_basic_blocks],
nearer[(size_t) e->aux]);
+ clear_aux_for_edges ();
free (tos);
}
}
}
+ clear_aux_for_edges ();
free_edge_list (edge_list);
}