aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-07-26 14:34:19 +0000
committerRichard Sandiford <rsandifo@redhat.com>2004-07-26 14:34:19 +0000
commit5919824ecfde1746bccd1c3a1438e9cb75d568b1 (patch)
tree4287b222452a3f92e4472b74970cdf9826728da2 /gcc/cfglayout.c
parent2dbc0444eb59ab5a4b092ffd9a5a484b939ba5b6 (diff)
PR rtl-optimization/16643
* cfglayout.h (cfg_layout_initialize): Add a flags parameter. * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg. * basic-block.h (reorder_basic_blocks): Add a flags parameter. * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize. (partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize. * function.c (thread_prologue_and_epilogue_insns): Likewise. * rtl.h (tracer): Add a flags parameter. * tracer.c (tracer): Pass it to cfg_layout_initialise. * passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks. (rest_of_handle_reorder_blocks): Update calls to tracer and reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate. (rest_of_handle_tracer): Pass 0 to tracer. (rest_of_handle_loop2): Pass 0 to cfg_layout_initialize. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@85191 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r--gcc/cfglayout.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 457305c1087..a81ce4c7f8c 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -1133,11 +1133,15 @@ cfg_layout_duplicate_bb (basic_block bb)
return new_bb;
}
-/* Main entry point to this module - initialize the data structures for
- CFG layout changes. It keeps LOOPS up-to-date if not null. */
+/* Main entry point to this module - initialize the datastructures for
+ CFG layout changes. It keeps LOOPS up-to-date if not null.
+
+ FLAGS is a set of additional flags to pass to cleanup_cfg(). It should
+ include CLEANUP_UPDATE_LIFE if liveness information must be kept up
+ to date. */
void
-cfg_layout_initialize (void)
+cfg_layout_initialize (unsigned int flags)
{
basic_block bb;
@@ -1152,7 +1156,7 @@ cfg_layout_initialize (void)
record_effective_endpoints ();
- cleanup_cfg (CLEANUP_CFGLAYOUT);
+ cleanup_cfg (CLEANUP_CFGLAYOUT | flags);
}
/* Splits superblocks. */