diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2002-10-13 04:42:59 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2002-10-13 04:42:59 +0000 |
commit | ea9ed226e0c614f6cf1bba6b3afd9b6a6e327209 (patch) | |
tree | 86b8f6e260d794a392df5d4615b8081cafe2d9fa | |
parent | 98194095fe39f67436032de5d3a1d55e9e451389 (diff) | |
download | bison-ea9ed226e0c614f6cf1bba6b3afd9b6a6e327209.tar.gz |
Import of GCC head 2002-10-11
-rw-r--r-- | lib/timevar.c | 38 | ||||
-rw-r--r-- | lib/timevar.def | 79 | ||||
-rw-r--r-- | lib/timevar.h | 6 |
3 files changed, 70 insertions, 53 deletions
diff --git a/lib/timevar.c b/lib/timevar.c index 55fc45a4..7a10fe78 100644 --- a/lib/timevar.c +++ b/lib/timevar.c @@ -19,24 +19,11 @@ along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#if IN_GCC - -/* These are the original includes --akim. */ #include "config.h" #include "system.h" #include "intl.h" #include "rtl.h" -#else - -/* These are my replacements by hand --akim. - There is another change below, flag with IN_GCC. */ -# include "../src/system.h" -int time_report = 0; - -#endif - - #ifdef HAVE_SYS_TIMES_H # include <sys/times.h> #endif @@ -122,14 +109,12 @@ static float clocks_to_msec; #define CLOCKS_TO_MSEC (1 / (float)CLOCKS_PER_SEC) #endif -#if IN_GCC #include "flags.h" -#endif #include "timevar.h" /* See timevar.h for an explanation of timing variables. */ -/* This macro evaluates to non-zero if timing variables are enabled. */ +/* This macro evaluates to nonzero if timing variables are enabled. */ #define TIMEVAR_ENABLE (time_report) /* A timing variable. */ @@ -191,7 +176,7 @@ static void timevar_accumulate /* Fill the current times into TIME. The definition of this function also defines any or all of the HAVE_USER_TIME, HAVE_SYS_TIME, and - HAVA_WALL_TIME macros. */ + HAVE_WALL_TIME macros. */ static void get_time (now) @@ -207,18 +192,15 @@ get_time (now) { #ifdef USE_TIMES struct tms tms; - now->wall = times (&tms) * ticks_to_msec; - now->user = (tms.tms_utime + tms.tms_cutime) * ticks_to_msec; - now->sys = (tms.tms_stime + tms.tms_cstime) * ticks_to_msec; + now->wall = times (&tms) * ticks_to_msec; + now->user = tms.tms_utime * ticks_to_msec; + now->sys = tms.tms_stime * ticks_to_msec; #endif #ifdef USE_GETRUSAGE struct rusage rusage; getrusage (RUSAGE_SELF, &rusage); now->user = rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec * 1e-6; now->sys = rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; - getrusage (RUSAGE_CHILDREN, &rusage); - now->user += rusage.ru_utime.tv_sec + rusage.ru_utime.tv_usec * 1e-6; - now->sys += rusage.ru_stime.tv_sec + rusage.ru_stime.tv_usec * 1e-6; #endif #ifdef USE_CLOCK now->user = clock () * clocks_to_msec; @@ -230,9 +212,9 @@ get_time (now) static void timevar_accumulate (timer, start_time, stop_time) - struct timevar_time_def *timer; - struct timevar_time_def *start_time; - struct timevar_time_def *stop_time; + struct timevar_time_def *timer; + struct timevar_time_def *start_time; + struct timevar_time_def *stop_time; { timer->user += stop_time->user - start_time->user; timer->sys += stop_time->sys - start_time->sys; @@ -551,6 +533,6 @@ print_time (str, total) fprintf (stderr, _("time in %s: %ld.%06ld (%ld%%)\n"), str, total / 1000000, total % 1000000, - all_time == 0 ? 0 - : (long) (((100.0 * (double) total) / (double) all_time) + .5)); + all_time == 0 ? 0 + : (long) (((100.0 * (double) total) / (double) all_time) + .5)); } diff --git a/lib/timevar.def b/lib/timevar.def index a82666b3..49eeedbf 100644 --- a/lib/timevar.def +++ b/lib/timevar.def @@ -1,4 +1,4 @@ -/* This file contains the definitions for timing variables used to -*- C -*- +/* This file contains the definitions for timing variables used to measure run-time performance of the compiler. Copyright (C) 2000 Free Software Foundation, Inc. Contributed by Alex Samuel <samuel@codesourcery.com> @@ -33,24 +33,59 @@ /* The total execution time. */ DEFTIMEVAR (TV_TOTAL , "total time") -/* Time spent in the reader. */ -DEFTIMEVAR (TV_READER , "reader") -DEFTIMEVAR (TV_SCANNING , "scanner") -DEFTIMEVAR (TV_PARSING , "parser") - -/* Time spent handling the grammar. */ -DEFTIMEVAR (TV_REDUCE , "reducing the grammar") -DEFTIMEVAR (TV_SETS , "computing the sets") -DEFTIMEVAR (TV_LR0 , "LR(0)") -DEFTIMEVAR (TV_LALR , "LALR(1)") -DEFTIMEVAR (TV_CONFLICTS , "conflicts") - -/* Time spent outputing results. */ -DEFTIMEVAR (TV_REPORT , "outputing report") -DEFTIMEVAR (TV_GRAPH , "outputing graph") -DEFTIMEVAR (TV_ACTIONS , "parser action tables") -DEFTIMEVAR (TV_PARSER , "outputing parser") -DEFTIMEVAR (TV_M4 , "running m4") - -/* Time spent by freeing the memory :). */ -DEFTIMEVAR (TV_FREE , "freeing") +/* Time spent garbage-collecting. */ +DEFTIMEVAR (TV_GC , "garbage collection") + +/* Time spent generating dump files. */ +DEFTIMEVAR (TV_DUMP , "dump files") + +/* Time spent by constructing CFG. */ +DEFTIMEVAR (TV_CFG , "cfg construction") +/* Time spent by cleaning up CFG. */ +DEFTIMEVAR (TV_CLEANUP_CFG , "cfg cleanup") +DEFTIMEVAR (TV_DELETE_TRIVIALLY_DEAD , "trivially dead code") +/* Time spent by life analysis. */ +DEFTIMEVAR (TV_LIFE , "life analysis") +DEFTIMEVAR (TV_LIFE_UPDATE , "life info update") +/* Timing in various stages of the compiler. */ +DEFTIMEVAR (TV_CPP , "preprocessing") +DEFTIMEVAR (TV_LEX , "lexical analysis") +DEFTIMEVAR (TV_PARSE , "parser") +DEFTIMEVAR (TV_EXPAND , "expand") +DEFTIMEVAR (TV_VARCONST , "varconst") +DEFTIMEVAR (TV_INTEGRATION , "integration") +DEFTIMEVAR (TV_JUMP , "jump") +DEFTIMEVAR (TV_CSE , "CSE") +DEFTIMEVAR (TV_GCSE , "global CSE") +DEFTIMEVAR (TV_LOOP , "loop analysis") +DEFTIMEVAR (TV_TRACER , "tracer") +DEFTIMEVAR (TV_CSE2 , "CSE 2") +DEFTIMEVAR (TV_BRANCH_PROB , "branch prediction") +DEFTIMEVAR (TV_FLOW , "flow analysis") +DEFTIMEVAR (TV_COMBINE , "combiner") +DEFTIMEVAR (TV_IFCVT , "if-conversion") +DEFTIMEVAR (TV_REGMOVE , "regmove") +DEFTIMEVAR (TV_MODE_SWITCH , "mode switching") +DEFTIMEVAR (TV_SCHED , "scheduling") +DEFTIMEVAR (TV_LOCAL_ALLOC , "local alloc") +DEFTIMEVAR (TV_GLOBAL_ALLOC , "global alloc") +DEFTIMEVAR (TV_RELOAD_CSE_REGS , "reload CSE regs") +DEFTIMEVAR (TV_FLOW2 , "flow 2") +DEFTIMEVAR (TV_IFCVT2 , "if-conversion 2") +DEFTIMEVAR (TV_PEEPHOLE2 , "peephole 2") +DEFTIMEVAR (TV_RENAME_REGISTERS , "rename registers") +DEFTIMEVAR (TV_SCHED2 , "scheduling 2") +DEFTIMEVAR (TV_MACH_DEP , "machine dep reorg") +DEFTIMEVAR (TV_DBR_SCHED , "delay branch sched") +DEFTIMEVAR (TV_REORDER_BLOCKS , "reorder blocks") +DEFTIMEVAR (TV_SHORTEN_BRANCH , "shorten branches") +DEFTIMEVAR (TV_REG_STACK , "reg stack") +DEFTIMEVAR (TV_TO_SSA , "convert to SSA") +DEFTIMEVAR (TV_SSA_CCP , "SSA CCP") +DEFTIMEVAR (TV_SSA_DCE , "SSA aggressive DCE") +DEFTIMEVAR (TV_FROM_SSA , "convert from SSA") +DEFTIMEVAR (TV_FINAL , "final") +DEFTIMEVAR (TV_SYMOUT , "symout") + +/* Everything else in rest_of_compilation not included above. */ +DEFTIMEVAR (TV_REST_OF_COMPILATION , "rest of compilation") diff --git a/lib/timevar.h b/lib/timevar.h index f0d2fd2a..149751c3 100644 --- a/lib/timevar.h +++ b/lib/timevar.h @@ -41,9 +41,9 @@ - As a standalone timer, using timevar_start and timevar_stop. All time elapsed between the two calls is attributed to the - variable. + variable. */ - + /* This structure stores the various varieties of time that can be measured. Times are stored in seconds. The time may be an absolute time or a time difference; in the former case, the time @@ -67,7 +67,7 @@ struct timevar_time_def the contents of timevar.def. */ #define DEFTIMEVAR(identifier__, name__) \ - identifier__, + identifier__, typedef enum { #include "timevar.def" |