libFirm
timing.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5 
10 #ifndef FIRM_TIMING_H
11 #define FIRM_TIMING_H
12 
13 #include "begin.h"
14 
21 typedef struct ir_timer_t ir_timer_t;
22 
30 FIRM_API int ir_timer_enter_high_priority(void);
31 
37 FIRM_API int ir_timer_leave_high_priority(void);
38 
44 FIRM_API ir_timer_t *ir_timer_new(void);
45 
50 FIRM_API void ir_timer_free(ir_timer_t *timer);
51 
56 FIRM_API void ir_timer_start(ir_timer_t *timer);
57 
62 FIRM_API void ir_timer_reset_and_start(ir_timer_t *timer);
63 
68 FIRM_API void ir_timer_reset(ir_timer_t *timer);
69 
75 FIRM_API void ir_timer_stop(ir_timer_t *timer);
76 
80 FIRM_API void ir_timer_init_parent(ir_timer_t *timer);
81 
89 FIRM_API void ir_timer_push(ir_timer_t *timer);
90 
96 FIRM_API void ir_timer_pop(ir_timer_t *timer);
97 
103 FIRM_API unsigned long ir_timer_elapsed_msec(const ir_timer_t *timer);
104 
110 FIRM_API unsigned long ir_timer_elapsed_usec(const ir_timer_t *timer);
111 
115 FIRM_API double ir_timer_elapsed_sec(const ir_timer_t *timer);
116 
117 #include "end.h"
118 
119 #endif