+2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * 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 <pinskia@physics.uc.edu>
* config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
#include "flags.h"
#include "timevar.h"
-static bool timevar_enable;
+bool timevar_enable;
/* See timevar.h for an explanation of timing variables. */
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;
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? */
#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 *);
/* Provided for backward compatibility. */
extern void print_time (const char *, long);
+extern bool timevar_enable;
+
#endif /* ! GCC_TIMEVAR_H */