[Openmp-commits] [PATCH] D95986: [OpenMP][deviceRTLs] Drop `assert` in common parts of `deviceRTLs`
Shilei Tian via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Wed Feb 3 16:43:33 PST 2021
tianshilei1992 created this revision.
tianshilei1992 added reviewers: jdoerfert, JonChesterfield.
Herald added subscribers: guansong, yaxunl.
tianshilei1992 requested review of this revision.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.
The header `assert.h` needs to be included in order to use `assert` in
the code. When building NVPTX `deviceRTLs` on a CUDA free system, it requires
headers from `gcc-multilib`, which some systems don't have. This patch drops the
use of `assert` in common parts of `deviceRTLs`. In light of
`openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h`, a code block
if (!cond)
__builtin_trap();
is being used.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95986
Files:
openmp/libomptarget/deviceRTLs/common/debug.h
openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
Index: openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
===================================================================
--- openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
+++ openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
@@ -12,7 +12,6 @@
#ifndef _TARGET_IMPL_H_
#define _TARGET_IMPL_H_
-#include <assert.h>
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
Index: openmp/libomptarget/deviceRTLs/common/debug.h
===================================================================
--- openmp/libomptarget/deviceRTLs/common/debug.h
+++ openmp/libomptarget/deviceRTLs/common/debug.h
@@ -142,13 +142,17 @@
template <typename... Arguments>
NOINLINE static void check(bool cond, const char *fmt,
Arguments... parameters) {
- if (!cond)
+ if (!cond) {
printf(fmt, (int)GetBlockIdInKernel(), (int)GetThreadIdInBlock(),
(int)GetWarpId(), (int)GetLaneId(), parameters...);
- assert(cond);
+ __builtin_trap();
+ }
}
-NOINLINE static void check(bool cond) { assert(cond); }
+NOINLINE static void check(bool cond) {
+ if (!cond)
+ __builtin_trap();
+}
#endif
// set flags that are tested (inclusion properties)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95986.321261.patch
Type: text/x-patch
Size: 1207 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210204/6101a996/attachment-0001.bin>
More information about the Openmp-commits
mailing list