summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2002-10-13 04:42:59 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2002-10-13 04:42:59 +0000
commitea9ed226e0c614f6cf1bba6b3afd9b6a6e327209 (patch)
tree86b8f6e260d794a392df5d4615b8081cafe2d9fa
parent98194095fe39f67436032de5d3a1d55e9e451389 (diff)
downloadbison-ea9ed226e0c614f6cf1bba6b3afd9b6a6e327209.tar.gz
Import of GCC head 2002-10-11
-rw-r--r--lib/timevar.c38
-rw-r--r--lib/timevar.def79
-rw-r--r--lib/timevar.h6
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"