[Openmp-commits] [PATCH] D56101: [OPENMP][NVPTX]Outline assert into noinline function, NFC.
Alexey Bataev via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Dec 28 09:33:18 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL350128: [OPENMP][NVPTX]Outline assert into noinline function, NFC. (authored by ABataev, committed by ).
Herald added a subscriber: llvm-commits.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56101/new/
https://reviews.llvm.org/D56101
Files:
openmp/trunk/libomptarget/deviceRTLs/nvptx/src/debug.h
Index: openmp/trunk/libomptarget/deviceRTLs/nvptx/src/debug.h
===================================================================
--- openmp/trunk/libomptarget/deviceRTLs/nvptx/src/debug.h
+++ openmp/trunk/libomptarget/deviceRTLs/nvptx/src/debug.h
@@ -138,6 +138,18 @@
#endif
#if OMPTARGET_NVPTX_TEST
#include <assert.h>
+
+template <typename... Arguments>
+NOINLINE static void check(bool cond, const char *fmt,
+ Arguments... parameters) {
+ if (!cond)
+ printf(fmt, (int)blockIdx.x, (int)threadIdx.x,
+ (int)(threadIdx.x / WARPSIZE), (int)(threadIdx.x & 0x1F),
+ parameters...);
+ assert(cond);
+}
+
+NOINLINE static void check(bool cond) { assert(cond); }
#endif
// set flags that are tested (inclusion properties)
@@ -207,13 +219,13 @@
#define ASSERT0(_flag, _cond, _str) \
{ \
if (TON(_flag)) { \
- assert(_cond); \
+ check(_cond); \
} \
}
#define ASSERT(_flag, _cond, _str, _args...) \
{ \
if (TON(_flag)) { \
- assert(_cond); \
+ check(_cond); \
} \
}
@@ -222,16 +234,15 @@
#define TON(_flag) ((OMPTARGET_NVPTX_TEST) & (_flag))
#define ASSERT0(_flag, _cond, _str) \
{ \
- if (TON(_flag) && !(_cond)) { \
- log("<b %3d, t %4d, w %2d, l %2d> ASSERT: " _str "\n"); \
- assert(_cond); \
+ if (TON(_flag)) { \
+ check((_cond), "<b %3d, t %4d, w %2d, l %2d> ASSERT: " _str "\n"); \
} \
}
#define ASSERT(_flag, _cond, _str, _args...) \
{ \
- if (TON(_flag) && !(_cond)) { \
- log("<b %3d, t %4d, w %2d, l %d2> ASSERT: " _str "\n", _args); \
- assert(_cond); \
+ if (TON(_flag)) { \
+ check((_cond), "<b %3d, t %4d, w %2d, l %d2> ASSERT: " _str "\n", \
+ _args); \
} \
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56101.179645.patch
Type: text/x-patch
Size: 3278 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20181228/f7d5e8eb/attachment.bin>
More information about the Openmp-commits
mailing list