From 09b04f2d9f3a2fd97e9794dc7fc7857de4be971c Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sat, 26 Apr 2003 15:19:06 +0000 Subject: [PATCH] flags.h (time_report): Remove. * flags.h (time_report): Remove. * timevar.c (timevar_enable): New. (TIMEVAR_ENABLE): Remove, use timevar_enable. (timevar_init): Rename from init_timevar. * timevar.h (timevar_init): Rename from init_timevar. * toplev.c (time_report): Make static. (do_compile): Conditionally call init_timevar first. (preprocess_options): Move some code to do_compile. From-SVN: r66110 --- gcc/ChangeLog | 11 +++++++++++ gcc/flags.h | 4 ---- gcc/timevar.c | 22 ++++++++++------------ gcc/timevar.h | 2 +- gcc/toplev.c | 40 +++++++++++++++++++--------------------- 5 files changed, 41 insertions(+), 38 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74ca38480da..f96ea701440 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2003-04-26 Neil Booth + + * flags.h (time_report): Remove. + * timevar.c (timevar_enable): New. + (TIMEVAR_ENABLE): Remove, use timevar_enable. + (timevar_init): Rename from init_timevar. + * timevar.h (timevar_init): Rename from init_timevar. + * toplev.c (time_report): Make static. + (do_compile): Conditionally call init_timevar first. + (preprocess_options): Move some code to do_compile. + 2003-04-26 Stephane Carrez * doc/install.texi (Binaries): Mention binaries for HC11/HC12. diff --git a/gcc/flags.h b/gcc/flags.h index e02c3de6c26..982cb933159 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -72,10 +72,6 @@ extern int optimize_size; extern int quiet_flag; -/* Print times taken by the various passes. -ftime-report. */ - -extern int time_report; - /* Print memory still in use at end of compilation (which may have little to do with peak memory consumption). -fmem-report. */ diff --git a/gcc/timevar.c b/gcc/timevar.c index 2eeeaa27ad7..534001bfe10 100644 --- a/gcc/timevar.c +++ b/gcc/timevar.c @@ -113,10 +113,9 @@ static double clocks_to_msec; #include "flags.h" #include "timevar.h" -/* See timevar.h for an explanation of timing variables. */ +static bool timevar_enable; -/* This macro evaluates to nonzero if timing variables are enabled. */ -#define TIMEVAR_ENABLE (time_report) +/* See timevar.h for an explanation of timing variables. */ /* A timing variable. */ @@ -187,7 +186,7 @@ get_time (now) now->sys = 0; now->wall = 0; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; { @@ -225,10 +224,9 @@ timevar_accumulate (timer, start_time, stop_time) /* Initialize timing variables. */ void -init_timevar () +timevar_init () { - if (!TIMEVAR_ENABLE) - return; + timevar_enable = true; /* Zero all elapsed times. */ memset ((void *) timevars, 0, sizeof (timevars)); @@ -262,7 +260,7 @@ timevar_push (timevar) struct timevar_stack_def *context; struct timevar_time_def now; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; /* Mark this timing variable as used. */ @@ -314,7 +312,7 @@ timevar_pop (timevar) struct timevar_time_def now; struct timevar_stack_def *popped = stack; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; if (&timevars[timevar] != stack->timevar) @@ -353,7 +351,7 @@ timevar_start (timevar) { struct timevar_def *tv = &timevars[timevar]; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; /* Mark this timing variable as used. */ @@ -378,7 +376,7 @@ timevar_stop (timevar) struct timevar_def *tv = &timevars[timevar]; struct timevar_time_def now; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; /* TIMEVAR must have been started via timevar_start. */ @@ -430,7 +428,7 @@ timevar_print (fp) struct timevar_time_def *total = &timevars[TV_TOTAL].elapsed; struct timevar_time_def now; - if (!TIMEVAR_ENABLE) + if (!timevar_enable) return; /* Update timing information in case we're calling this from GDB. */ diff --git a/gcc/timevar.h b/gcc/timevar.h index 5d5a018a6aa..abcbb95dee0 100644 --- a/gcc/timevar.h +++ b/gcc/timevar.h @@ -79,7 +79,7 @@ timevar_id_t; /* Execute the sequence: timevar_pop (TV), return (E); */ #define POP_TIMEVAR_AND_RETURN(TV, E) return (timevar_pop (TV), (E)) -extern void init_timevar PARAMS ((void)); +extern void timevar_init PARAMS ((void)); extern void timevar_push PARAMS ((timevar_id_t)); extern void timevar_pop PARAMS ((timevar_id_t)); extern void timevar_start PARAMS ((timevar_id_t)); diff --git a/gcc/toplev.c b/gcc/toplev.c index f0f25db1f5b..4d7e35141a6 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -431,7 +431,7 @@ int quiet_flag = 0; /* Print times taken by the various passes. -ftime-report. */ -int time_report = 0; +static int time_report = 0; /* Print memory still in use at end of compilation (which may have little to do with peak memory consumption). -fmem-report. */ @@ -5326,9 +5326,6 @@ process_options () print_switch_values (stderr, 0, MAX_LINE, "", " ", "\n"); } - if (! quiet_flag || flag_detailed_statistics) - time_report = 1; - if (flag_syntax_only) { write_symbols = NO_DEBUG; @@ -5562,20 +5559,27 @@ finalize () static void do_compile () { - /* We cannot start timing until after options are processed since that - says if we run timers or not. */ - init_timevar (); + /* Initialize timing first. The C front ends read the main file in + the post_options hook, and C++ does file timings. */ + if (time_report || !quiet_flag || flag_detailed_statistics) + timevar_init (); timevar_start (TV_TOTAL); - /* Set up the back-end if requested. */ - if (!no_backend) - backend_init (); + process_options (); - /* Language-dependent initialization. Returns true on success. */ - if (lang_dependent_init (filename)) - compile_file (); + /* Don't do any more if an error has already occurred. */ + if (!errorcount) + { + /* Set up the back-end if requested. */ + if (!no_backend) + backend_init (); - finalize (); + /* Language-dependent initialization. Returns true on success. */ + if (lang_dependent_init (filename)) + compile_file (); + + finalize (); + } /* Stop timing and print the times. */ timevar_stop (TV_TOTAL); @@ -5603,13 +5607,7 @@ toplev_main (argc, argv) /* Exit early if we can (e.g. -help). */ if (!exit_after_options) - { - process_options (); - - /* Don't do any more if an error has already occurred. */ - if (!errorcount) - do_compile (); - } + do_compile (); if (errorcount || sorrycount) return (FATAL_EXIT_CODE);