summaryrefslogtreecommitdiff
path: root/src/trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/trace.h')
-rw-r--r--src/trace.h100
1 files changed, 53 insertions, 47 deletions
diff --git a/src/trace.h b/src/trace.h
index 0b96dcf..8d74151 100644
--- a/src/trace.h
+++ b/src/trace.h
@@ -7,23 +7,24 @@
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
-// Redistributions in binary form must reproduce the above copyright notice, this
-// list of conditions and the following disclaimer in the documentation and/or
-// other materials provided with the distribution.
-// Neither the name of The University of British Columbia nor the names of its
-// contributors may be used to endorse or promote products derived from this
-// software without specific prior written permission.
+// Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution. Neither the name of
+// The University of British Columbia nor the names of its contributors may be
+// used to endorse or promote products derived from this software without
+// specific prior written permission.
//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
// This file is inspired by the trace system in gem5.
// This is a highly simplified version adpated for gpgpusim
@@ -35,52 +36,57 @@ namespace Trace {
#define TS_TUP_BEGIN(X) enum X {
#define TS_TUP(X) X
-#define TS_TUP_END(X) };
+#define TS_TUP_END(X) \
+ } \
+ ;
#include "trace_streams.tup"
#undef TS_TUP_BEGIN
#undef TS_TUP
#undef TS_TUP_END
- extern bool enabled;
- extern int sampling_core;
- extern int sampling_memory_partition;
- extern const char* trace_streams_str[];
- extern bool trace_streams_enabled[NUM_TRACE_STREAMS];
- extern const char* config_str;
+extern bool enabled;
+extern int sampling_core;
+extern int sampling_memory_partition;
+extern const char* trace_streams_str[];
+extern bool trace_streams_enabled[NUM_TRACE_STREAMS];
+extern const char* config_str;
- void init();
-
-} // namespace Trace
+void init();
+} // namespace Trace
#if TRACING_ON
#define SIM_PRINT_STR "GPGPU-Sim Cycle %llu: %s - "
#define DTRACE(x) ((Trace::trace_streams_enabled[Trace::x]) && Trace::enabled)
-#define DPRINTF(x, ...) do {\
- if (DTRACE(x)) {\
- printf( SIM_PRINT_STR,\
- m_gpu->gpu_sim_cycle + m_gpu->gpu_tot_sim_cycle,\
- Trace::trace_streams_str[Trace::x] );\
- printf(__VA_ARGS__);\
- }\
-} while (0)
+#define DPRINTF(x, ...) \
+ do { \
+ if (DTRACE(x)) { \
+ printf(SIM_PRINT_STR, m_gpu->gpu_sim_cycle + m_gpu->gpu_tot_sim_cycle, \
+ Trace::trace_streams_str[Trace::x]); \
+ printf(__VA_ARGS__); \
+ } \
+ } while (0)
-#define DPRINTFG(x, ...) do {\
- if (DTRACE(x)) {\
- printf( SIM_PRINT_STR,\
- gpu_sim_cycle + gpu_tot_sim_cycle,\
- Trace::trace_streams_str[Trace::x] );\
- printf(__VA_ARGS__);\
- }\
-} while (0)
+#define DPRINTFG(x, ...) \
+ do { \
+ if (DTRACE(x)) { \
+ printf(SIM_PRINT_STR, gpu_sim_cycle + gpu_tot_sim_cycle, \
+ Trace::trace_streams_str[Trace::x]); \
+ printf(__VA_ARGS__); \
+ } \
+ } while (0)
-#else
+#else
#define DTRACE(x) (false)
-#define DPRINTF(x, ...) do {} while (0)
-#define DPRINTFG(x, ...) do {} while (0)
+#define DPRINTF(x, ...) \
+ do { \
+ } while (0)
+#define DPRINTFG(x, ...) \
+ do { \
+ } while (0)
-#endif
+#endif
-#endif
+#endif