aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop-init.c')
-rw-r--r--gcc/loop-init.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index a463777..438c66e 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see
void
loop_optimizer_init (unsigned flags)
{
+ timevar_push (TV_LOOP_INIT);
if (!current_loops)
{
struct loops *loops = ggc_alloc_cleared_loops ();
@@ -104,6 +105,8 @@ loop_optimizer_init (unsigned flags)
#ifdef ENABLE_CHECKING
verify_loop_structure ();
#endif
+
+ timevar_pop (TV_LOOP_INIT);
}
/* Finalize loop structures. */
@@ -115,6 +118,8 @@ loop_optimizer_finalize (void)
struct loop *loop;
basic_block bb;
+ timevar_push (TV_LOOP_FINI);
+
if (loops_state_satisfies_p (LOOPS_HAVE_RECORDED_EXITS))
release_recorded_exits ();
@@ -128,7 +133,7 @@ loop_optimizer_finalize (void)
| LOOPS_HAVE_PREHEADERS
| LOOPS_HAVE_SIMPLE_LATCHES
| LOOPS_HAVE_FALLTHRU_PREHEADERS);
- return;
+ goto loop_fini_done;
}
gcc_assert (current_loops != NULL);
@@ -147,6 +152,9 @@ loop_optimizer_finalize (void)
{
bb->loop_father = NULL;
}
+
+loop_fini_done:
+ timevar_pop (TV_LOOP_FINI);
}