diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1f1d3dbffb4..8b4baa1cab2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,18 @@ +2004-11-03 Andrew Pinski + + * timevar.c (timevar_enable): Change from + static. + (timevar_push): Rename to ... + (timevar_push_1): this and remove the + enabled check. + (timevar_pop): Rename to ... + (timevar_pop_1): this and remove the + enabled check. + * timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops. + (timevar_pop): New macro. + (timevar_push): New macro. + (timevar_enable): Declare. + 2004-11-03 Andrew Pinski * config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared diff --git a/gcc/timevar.c b/gcc/timevar.c index 43f88323d56..ffcd9e00876 100644 --- a/gcc/timevar.c +++ b/gcc/timevar.c @@ -113,7 +113,7 @@ static double clocks_to_msec; #include "flags.h" #include "timevar.h" -static bool timevar_enable; +bool timevar_enable; /* See timevar.h for an explanation of timing variables. */ @@ -250,15 +250,12 @@ timevar_init (void) TIMEVAR cannot be running as a standalone timer. */ void -timevar_push (timevar_id_t timevar) +timevar_push_1 (timevar_id_t timevar) { struct timevar_def *tv = &timevars[timevar]; struct timevar_stack_def *context; struct timevar_time_def now; - if (!timevar_enable) - return; - /* Mark this timing variable as used. */ tv->used = 1; @@ -300,14 +297,11 @@ timevar_push (timevar_id_t timevar) timing variable. */ void -timevar_pop (timevar_id_t timevar) +timevar_pop_1 (timevar_id_t timevar) { struct timevar_time_def now; struct timevar_stack_def *popped = stack; - if (!timevar_enable) - return; - gcc_assert (&timevars[timevar] == stack->timevar); /* What time is it? */ diff --git a/gcc/timevar.h b/gcc/timevar.h index 8747cdf25d3..e8366004c01 100644 --- a/gcc/timevar.h +++ b/gcc/timevar.h @@ -77,11 +77,13 @@ timevar_id_t; #undef DEFTIMEVAR /* Execute the sequence: timevar_pop (TV), return (E); */ -#define POP_TIMEVAR_AND_RETURN(TV, E) return (timevar_pop (TV), (E)) +#define POP_TIMEVAR_AND_RETURN(TV, E) do { timevar_pop (TV); return (E); }while(0) +#define timevar_pop(TV) do { if (timevar_enable) timevar_pop_1 (TV); }while(0) +#define timevar_push(TV) do { if (timevar_enable) timevar_push_1 (TV); }while(0) extern void timevar_init (void); -extern void timevar_push (timevar_id_t); -extern void timevar_pop (timevar_id_t); +extern void timevar_push_1 (timevar_id_t); +extern void timevar_pop_1 (timevar_id_t); extern void timevar_start (timevar_id_t); extern void timevar_stop (timevar_id_t); extern void timevar_print (FILE *); @@ -89,4 +91,6 @@ extern void timevar_print (FILE *); /* Provided for backward compatibility. */ extern void print_time (const char *, long); +extern bool timevar_enable; + #endif /* ! GCC_TIMEVAR_H */