OSDN Git Service

2010-06-22 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / timevar.h
index d71ba31..e776dbf 100644 (file)
@@ -1,5 +1,6 @@
 /* Timing variables for measuring compiler performance.
-   Copyright (C) 2000, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009
+   Free Software Foundation, Inc.
    Contributed by Alex Samuel <samuel@codesourcery.com>
 
    This file is part of GCC.
@@ -72,16 +73,22 @@ struct timevar_time_def
     identifier__,
 typedef enum
 {
+  TV_NONE,
 #include "timevar.def"
   TIMEVAR_LAST
 }
 timevar_id_t;
 #undef DEFTIMEVAR
 
+/* True if timevars should be used.  In GCC, this happens with
+   the -ftime-report flag.  */
+extern bool timevar_enable;
+
+/* Total amount of memory allocated by garbage collector.  */
+extern size_t timevar_ggc_mem_total;
+
 /* Execute the sequence: timevar_pop (TV), return (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_1 (timevar_id_t);
@@ -91,10 +98,20 @@ extern void timevar_stop (timevar_id_t);
 extern void timevar_print (FILE *);
 
 /* Provided for backward compatibility.  */
-extern void print_time (const char *, long);
+static inline void
+timevar_push (timevar_id_t tv)
+{
+  if (timevar_enable)
+    timevar_push_1 (tv);
+}
 
-extern bool timevar_enable;
+static inline void
+timevar_pop (timevar_id_t tv)
+{
+  if (timevar_enable)
+    timevar_pop_1 (tv);
+}
 
-extern size_t timevar_ggc_mem_total;
+extern void print_time (const char *, long);
 
 #endif /* ! GCC_TIMEVAR_H */