flags.h (time_report): Remove.
authorNeil Booth <neil@daikokuya.co.uk>
Sat, 26 Apr 2003 15:19:06 +0000 (15:19 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Sat, 26 Apr 2003 15:19:06 +0000 (15:19 +0000)
* 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
gcc/flags.h
gcc/timevar.c
gcc/timevar.h
gcc/toplev.c

index 74ca38480da8986d6e744cb3f3e7cd4d0b50b470..f96ea7014405464e3f35192b264cfae0e8de63e8 100644 (file)
@@ -1,3 +1,14 @@
+2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * 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  <stcarrez@nerim.fr>
 
        * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
index e02c3de6c26d2d711d984ee91ef0e743b82eb305..982cb9331590699d14dd774d187ad0e0118461b3 100644 (file)
@@ -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.  */
 
index 2eeeaa27ad7d06749480696b4093d0890d6d10ad..534001bfe10ed2195f3df4607ecfb1678794ee9b 100644 (file)
@@ -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.  */
index 5d5a018a6aabb6770b3f6d4b917c5a81e649eefe..abcbb95dee068654f8244d4e885fe3f55f46abb2 100644 (file)
@@ -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));
index f0f25db1f5bfd584767f921f2a7b5c09fd97d6e3..4d7e35141a6d6f81124284edf7702a0afa308d3b 100644 (file)
@@ -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 ();
+
+  /* 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 ();
 
-  /* Language-dependent initialization.  Returns true on success.  */
-  if (lang_dependent_init (filename))
-    compile_file ();
+      /* Language-dependent initialization.  Returns true on success.  */
+      if (lang_dependent_init (filename))
+       compile_file ();
 
-  finalize ();
+      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);