* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
only when needed.
+ * cfg.c (flow_obstack): Remove.
+ (flow_firstobj): Likewise.
+ (init_flow): Remove all uses of flow_obstack.
+
2004-11-29 Alan Modra <amodra@bigpond.net.au>
* varasm.c (default_elf_select_section_1): Only pass DECL_P decl
/* The obstack on which the flow graph components are allocated. */
struct bitmap_obstack reg_obstack;
-struct obstack flow_obstack;
-static char *flow_firstobj;
/* Number of basic blocks in the current function. */
void
init_flow (void)
{
- static int initialized;
-
n_edges = 0;
- if (!initialized)
- {
- gcc_obstack_init (&flow_obstack);
- flow_firstobj = obstack_alloc (&flow_obstack, 0);
- initialized = 1;
- }
- else
- {
- obstack_free (&flow_obstack, flow_firstobj);
- flow_firstobj = obstack_alloc (&flow_obstack, 0);
- }
-
ENTRY_BLOCK_PTR = ggc_alloc_cleared (sizeof (*ENTRY_BLOCK_PTR));
ENTRY_BLOCK_PTR->index = ENTRY_BLOCK;
EXIT_BLOCK_PTR = ggc_alloc_cleared (sizeof (*EXIT_BLOCK_PTR));