https://github.com/jdoerfert created
https://github.com/llvm/llvm-project/pull/94821
This provides the header overlay for cuda_runtime.h which is found
before any CUDA installation (none is necessary). Some basic APIs are
defined in terms of the omp_target_* ones, but with the pending
LLVM/Offl
jdoerfert wrote:
There seems to be some trouble with NVIDIA offload (I tested mainly AMDGPU) and
f128, I'll make sure that works too.
The nits are easy to address, I just copied the style around.
I'll also add a IR test to match the new runtime calls and kernel argument
passing.
> Will kernels
@@ -0,0 +1,31 @@
+/*===-- LLVM/Offload helpers for kernel languages (CUDA/HIP) -*- c++ -*-===
+ *
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+ * See https://llvm.org/LICENSE.txt for license information.
+ * SPDX-License-Identifier: Apach
jdoerfert wrote:
This includes the changes of #94549, I need to learn how to do stacked PRs...
https://github.com/llvm/llvm-project/pull/94821
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c
@@ -0,0 +1,30 @@
+// RUN: %clang++ -foffload-via-llvm --offload-arch=native %s -o %t
+// RUN: %t | %fcheck-generic
+
+// UNSUPPORTED: aarch64-unknown-linux-gnu
+// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO
+// UNSUPPORTED: x86_64-pc-linux-gnu
+// UNSUPPORTED: x86_64-pc-linux-gnu-
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 36618e65d94ffa3e83464b7d19ff6cd7d5855abf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 5 Jun 2024 16:51:51 -0700
Subject: [PATCH 1/3] [Offload][NFCI] Initialize the KernelArgsTy to default
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 36618e65d94ffa3e83464b7d19ff6cd7d5855abf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 5 Jun 2024 16:51:51 -0700
Subject: [PATCH 1/3] [Offload][NFCI] Initialize the KernelArgsTy to default
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 36618e65d94ffa3e83464b7d19ff6cd7d5855abf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 5 Jun 2024 16:51:51 -0700
Subject: [PATCH 1/3] [Offload][NFCI] Initialize the KernelArgsTy to default
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 36618e65d94ffa3e83464b7d19ff6cd7d5855abf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 5 Jun 2024 16:51:51 -0700
Subject: [PATCH 1/3] [Offload][NFCI] Initialize the KernelArgsTy to default
jdoerfert wrote:
> Should the NFCI changes (like initializing struct fields) be put into a
> separate PR?
Done.
https://github.com/llvm/llvm-project/pull/95116
https://github.com/llvm/llvm-project/pull/95117
> Will kernels in TUs compiled with -foffload-via-llvm be interoperable with
> code
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 36618e65d94ffa3e83464b7d19ff6cd7d5855abf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 5 Jun 2024 16:51:51 -0700
Subject: [PATCH 1/3] [Offload][NFCI] Initialize the KernelArgsTy to default
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 094dbf3e01a62136db6be1afd6194f1d84ca8494 Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 12 Jun 2024 02:14:32 -0700
Subject: [PATCH 1/3] [Offload][AMDGPU] Impose more restrictions for implicit
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From 094dbf3e01a62136db6be1afd6194f1d84ca8494 Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Wed, 12 Jun 2024 02:14:32 -0700
Subject: [PATCH 1/3] [Offload][AMDGPU] Impose more restrictions for implicit
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94821
>From d06585044bd6d2dd76d6110bce933e01fd4b333e Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Mon, 3 Jun 2024 19:52:12 -0700
Subject: [PATCH 1/2] [Offload][CUDA] Allow CUDA kernels to use LLVM/Offload
M
@@ -1125,6 +1125,22 @@ void Clang::AddPreprocessingOptions(Compilation &C,
const JobAction &JA,
CmdArgs.push_back("__clang_openmp_device_functions.h");
}
+ if (Args.hasArg(options::OPT_foffload_via_llvm)) {
+// Add llvm_wrappers/* to our system include path. This
https://github.com/jdoerfert created
https://github.com/llvm/llvm-project/pull/95371
The offload APIs, and the CUDA wrappers in clang, now support "default
streams" per thread (and per device). It should be per context but we
don't really expose that concept yet. The KernelArguments allow an
LLV
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/94549
>From d06585044bd6d2dd76d6110bce933e01fd4b333e Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Mon, 3 Jun 2024 19:52:12 -0700
Subject: [PATCH] [Offload][CUDA] Allow CUDA kernels to use LLVM/Offload
MIME-
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/95371
>From d06585044bd6d2dd76d6110bce933e01fd4b333e Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Mon, 3 Jun 2024 19:52:12 -0700
Subject: [PATCH 1/3] [Offload][CUDA] Allow CUDA kernels to use LLVM/Offload
M
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/95371
>From d06585044bd6d2dd76d6110bce933e01fd4b333e Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Mon, 3 Jun 2024 19:52:12 -0700
Subject: [PATCH 1/3] [Offload][CUDA] Allow CUDA kernels to use LLVM/Offload
M
jdoerfert wrote:
LG, I misread the existing code in clang.
https://github.com/llvm/llvm-project/pull/88398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/88398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert commented:
This patch is huge, and just skimming over it shows various places that could
be split off, and others that should not make it to the review stage (commented
out code).
Please update.
https://github.com/llvm/llvm-project/pull/80343
__
@@ -145,6 +145,8 @@ static bool
isValidWorkshareLoopScheduleType(OMPScheduleType SchedType) {
}
#endif
+Function *GLOBAL_ReductionFunc = nullptr;
jdoerfert wrote:
We should (almost) never have globals flying around. What is going on here?
https://github.com
@@ -99,14 +100,20 @@ class OpenMPIRBuilderConfig {
/// expanded.
std::optional IsGPU;
- // Flag for specifying if offloading is mandatory.
+ /// Flag for specifying if LLVMUsed information should be emitted.
+ std::optional EmitLLVMUsed;
jdoerfert wrote
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/80343
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -607,15 +621,17 @@ class OpenMPIRBuilder {
/// Generator for '#omp barrier'
///
/// \param Loc The location where the barrier directive was encountered.
- /// \param DK The kind of directive that caused the barrier.
+ /// \param Kind The kind of directive that caused
@@ -2096,15 +2102,1408 @@ OpenMPIRBuilder::createSection(const
LocationDescription &Loc,
/*IsCancellable*/ true);
}
-/// Create a function with a unique name and a "void (i8*, i8*)" signature in
-/// the given module and return it.
-Function *get
https://github.com/jdoerfert closed
https://github.com/llvm/llvm-project/pull/99927
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
jdoerfert wrote:
I think we can/should go with the "--offload" set of flags, and potentially
have an "--offload-targets=..." version that clang is missing. The latter is
mostly not needed, as --offload-arch=..." is pretty good, but there are cases
you want to make it explicit to pass on additi
jdoerfert wrote:
> One related question I have - does Flang compile for one offload model or can
> it mix those (let's say compile sources with mixed OpenACC and OpenMP
> pragmas)? If mixing is allowed then it may also make sense to add a way of
> setting the target per programming model. But
@@ -4569,7 +4569,17 @@ OpenMPIRBuilder::createTargetInit(const
LocationDescription &Loc, bool IsSPMD,
Constant *MayUseNestedParallelismVal = ConstantInt::getSigned(Int8, true);
Constant *DebugIndentionLevelVal = ConstantInt::getSigned(Int16, 0);
- Function *Kernel = Buil
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert commented:
I just read over this and left some comments.
https://github.com/llvm/llvm-project/pull/89007
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
@@ -0,0 +1,1026 @@
+//===-- ExpandVariadicsPass.cpp *- C++ -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apach
https://github.com/jdoerfert updated
https://github.com/llvm/llvm-project/pull/95371
>From 34c8bf739040b9d3d0bf625cdadf12b282249ccf Mon Sep 17 00:00:00 2001
From: Johannes Doerfert
Date: Fri, 7 Jun 2024 17:06:02 -0700
Subject: [PATCH 1/2] [Offload][CUDA] Add initial cuda_runtime.h overlay
This
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/87009
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -34,38 +33,10 @@
#include
#include
-struct PluginManager;
-
-/// Plugin adaptors should be created via `PluginAdaptorTy::create` which will
-/// invoke the constructor and call `PluginAdaptorTy::init`. Eventual errors
are
-/// reported back to the caller, otherwise a val
@@ -3476,3 +3472,9 @@ void *AMDGPUDeviceTy::allocate(size_t Size, void *,
TargetAllocTy Kind) {
} // namespace target
} // namespace omp
} // namespace llvm
+
+extern "C" {
+llvm::omp::target::plugin::GenericPluginTy *createPlugin_amdgpu() {
jdoerfert wrote:
https://github.com/jdoerfert approved this pull request.
I left minor comments.
This LGTM, assuming it passes our tests.
https://github.com/llvm/llvm-project/pull/87009
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi
@@ -92,10 +65,10 @@ struct PluginManager {
std::make_unique(TgtBinDesc, TgtDeviceImage));
}
- /// Initialize as many devices as possible for this plugin adaptor. Devices
- /// that fail to initialize are ignored. Returns the offset the devices were
- /// registere
@@ -92,10 +65,10 @@ struct PluginManager {
std::make_unique(TgtBinDesc, TgtDeviceImage));
}
- /// Initialize as many devices as possible for this plugin adaptor. Devices
- /// that fail to initialize are ignored. Returns the offset the devices were
- /// registere
@@ -34,38 +33,10 @@
#include
#include
-struct PluginManager;
-
-/// Plugin adaptors should be created via `PluginAdaptorTy::create` which will
-/// invoke the constructor and call `PluginAdaptorTy::init`. Eventual errors
are
-/// reported back to the caller, otherwise a val
@@ -607,15 +621,17 @@ class OpenMPIRBuilder {
/// Generator for '#omp barrier'
///
/// \param Loc The location where the barrier directive was encountered.
- /// \param DK The kind of directive that caused the barrier.
+ /// \param Kind The kind of directive that caused
https://github.com/jdoerfert approved this pull request.
https://github.com/llvm/llvm-project/pull/101711
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11357,8 +11358,13 @@ void
OMPClauseReader::VisitOMPAllocateClause(OMPAllocateClause *C) {
void OMPClauseReader::VisitOMPNumTeamsClause(OMPNumTeamsClause *C) {
VisitOMPClauseWithPreInit(C);
- C->setNumTeams(Record.readSubExpr());
C->setLParenLoc(Record.readSourceLoca
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/99732
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert commented:
I think this is almost ready. Only missing thing is the >3 argument check and
test.
https://github.com/llvm/llvm-project/pull/99732
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
@@ -11639,6 +11639,7 @@ def warn_omp_unterminated_declare_target : Warning<
InGroup;
def err_ompx_bare_no_grid : Error<
"'ompx_bare' clauses requires explicit grid size via 'num_teams' and
'thread_limit' clauses">;
+def err_omp_multi_expr_not_allowed: Error<"only one expre
@@ -13004,13 +13004,34 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetUpdateDirective(
Clauses, AStmt);
}
+// This checks whether num_teams clause only has one expression.
+static bool checkNumTeamsClauseSingleExpr(SemaBase &SemaRef,
@@ -11357,8 +11358,13 @@ void
OMPClauseReader::VisitOMPAllocateClause(OMPAllocateClause *C) {
void OMPClauseReader::VisitOMPNumTeamsClause(OMPNumTeamsClause *C) {
VisitOMPClauseWithPreInit(C);
- C->setNumTeams(Record.readSubExpr());
C->setLParenLoc(Record.readSourceLoca
jdoerfert wrote:
This broke the Flang build. You need to add some Flang code for all changes in
omp.td. Look for a similar clause in the flang subproject to see what to do,
and verify by building Flang. Maybe revert for now until fixed.
https://github.com/llvm/llvm-project/pull/92731
_
@@ -5838,7 +5839,7 @@ QualType
TreeTransform::TransformDependentAddressSpaceType(
} else {
TypeSourceInfo *DI = getSema().Context.getTrivialTypeSourceInfo(
Result, getDerived().getBaseLocation());
-TransformType(TLB, DI->getTypeLoc());
+TLB.TypeWasModifie
jdoerfert wrote:
Thanks a lot!
https://github.com/llvm/llvm-project/pull/102206
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
jdoerfert wrote:
Split it, and maybe add the Phase to the rest as well. One commit to just make
it consistent and pass the information along.
Second for the AMDGPU stuff.
> @jdoerfert Possibly the issue you saw is that this callback just isn't used
> by the post-link full LTO pipeline at all?
Author: Johannes Doerfert
Date: 2022-01-19T23:36:36-06:00
New Revision: 6f2ee1ca5e39b4286f7eb1aeb63b408f952f93c9
URL:
https://github.com/llvm/llvm-project/commit/6f2ee1ca5e39b4286f7eb1aeb63b408f952f93c9
DIFF:
https://github.com/llvm/llvm-project/commit/6f2ee1ca5e39b4286f7eb1aeb63b408f952f93c9.d
Author: Johannes Doerfert
Date: 2021-04-23T11:21:52-05:00
New Revision: cbe8b57a675537183eaf8c32eaa6087cea3fc5da
URL:
https://github.com/llvm/llvm-project/commit/cbe8b57a675537183eaf8c32eaa6087cea3fc5da
DIFF:
https://github.com/llvm/llvm-project/commit/cbe8b57a675537183eaf8c32eaa6087cea3fc5da.d
Author: Johannes Doerfert
Date: 2021-05-06T02:10:30-05:00
New Revision: 5d8d994dfbe38fe86b1d883daa9fd8e47cdc1376
URL:
https://github.com/llvm/llvm-project/commit/5d8d994dfbe38fe86b1d883daa9fd8e47cdc1376
DIFF:
https://github.com/llvm/llvm-project/commit/5d8d994dfbe38fe86b1d883daa9fd8e47cdc1376.d
Author: Johannes Doerfert
Date: 2021-05-06T02:10:36-05:00
New Revision: 3f14596700093bce436ae27178c307e842398b65
URL:
https://github.com/llvm/llvm-project/commit/3f14596700093bce436ae27178c307e842398b65
DIFF:
https://github.com/llvm/llvm-project/commit/3f14596700093bce436ae27178c307e842398b65.d
Author: Johannes Doerfert
Date: 2022-01-08T17:01:19-06:00
New Revision: 37639b72a17be443e7f73e906554f8bbd0dbf271
URL:
https://github.com/llvm/llvm-project/commit/37639b72a17be443e7f73e906554f8bbd0dbf271
DIFF:
https://github.com/llvm/llvm-project/commit/37639b72a17be443e7f73e906554f8bbd0dbf271.d
Author: Johannes Doerfert
Date: 2021-12-28T23:53:29-06:00
New Revision: 7f1eaeafe7a13fc642e9510f43ec19390b32157d
URL:
https://github.com/llvm/llvm-project/commit/7f1eaeafe7a13fc642e9510f43ec19390b32157d
DIFF:
https://github.com/llvm/llvm-project/commit/7f1eaeafe7a13fc642e9510f43ec19390b32157d.d
Author: Johannes Doerfert
Date: 2021-03-30T01:12:45-05:00
New Revision: 03cc8a1ba050f3138c30e7771e29a32fab22e957
URL:
https://github.com/llvm/llvm-project/commit/03cc8a1ba050f3138c30e7771e29a32fab22e957
DIFF:
https://github.com/llvm/llvm-project/commit/03cc8a1ba050f3138c30e7771e29a32fab22e957.d
Author: Johannes Doerfert
Date: 2021-01-07T14:31:18-06:00
New Revision: d970a285b8567b93aea39e7e4d10965fe8b7340c
URL:
https://github.com/llvm/llvm-project/commit/d970a285b8567b93aea39e7e4d10965fe8b7340c
DIFF:
https://github.com/llvm/llvm-project/commit/d970a285b8567b93aea39e7e4d10965fe8b7340c.d
Author: Johannes Doerfert
Date: 2021-01-07T14:31:20-06:00
New Revision: 36c4dc9b42fe2e6af4ab488b7c4013d5082b67f6
URL:
https://github.com/llvm/llvm-project/commit/36c4dc9b42fe2e6af4ab488b7c4013d5082b67f6
DIFF:
https://github.com/llvm/llvm-project/commit/36c4dc9b42fe2e6af4ab488b7c4013d5082b67f6.d
Author: Johannes Doerfert
Date: 2021-01-07T14:39:18-06:00
New Revision: 6e7101530dae78efd7b5cdffc1338790ed3e5705
URL:
https://github.com/llvm/llvm-project/commit/6e7101530dae78efd7b5cdffc1338790ed3e5705
DIFF:
https://github.com/llvm/llvm-project/commit/6e7101530dae78efd7b5cdffc1338790ed3e5705.d
Author: Johannes Doerfert
Date: 2021-08-27T13:12:14-05:00
New Revision: 2930c839a5877356db6966409f4f9f2cdbcf3a07
URL:
https://github.com/llvm/llvm-project/commit/2930c839a5877356db6966409f4f9f2cdbcf3a07
DIFF:
https://github.com/llvm/llvm-project/commit/2930c839a5877356db6966409f4f9f2cdbcf3a07.d
Author: Johannes Doerfert
Date: 2021-09-10T12:08:52-05:00
New Revision: 45e8e084921b99ca36131d7f90359c70c4e1a25c
URL:
https://github.com/llvm/llvm-project/commit/45e8e084921b99ca36131d7f90359c70c4e1a25c
DIFF:
https://github.com/llvm/llvm-project/commit/45e8e084921b99ca36131d7f90359c70c4e1a25c.d
https://github.com/jdoerfert approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/104790
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -393,22 +393,17 @@ struct CUDADeviceTy : public GenericDeviceTy {
return Plugin::success();
}
- virtual Error callGlobalConstructors(GenericPluginTy &Plugin,
- DeviceImageTy &Image) override {
-// Check for the presense of gl
@@ -1274,4 +1277,97 @@ COMPILER_RT_VISIBILITY int
__llvm_profile_set_file_object(FILE *File,
return 0;
}
+int __llvm_write_custom_profile(const char *Target,
+const __llvm_profile_data *DataBegin,
+const __llvm
@@ -296,6 +296,17 @@ int __llvm_profile_get_padding_sizes_for_counters(
*/
void __llvm_profile_set_dumped();
+/*!
+ * \brief Write custom target-specific profiling data to a seperate file.
+ * Used by libomptarget for GPU PGO.
jdoerfert wrote:
```suggestion
@@ -829,6 +829,25 @@ Error GenericDeviceTy::deinit(GenericPluginTy &Plugin) {
DeviceMemoryPoolTracking.AllocationMax);
}
+ for (auto *Image : LoadedImages) {
+GenericGlobalHandlerTy &Handler = Plugin.getGlobalHandler();
+if (!Handler.hasProfilingGlobals(*
@@ -829,6 +829,25 @@ Error GenericDeviceTy::deinit(GenericPluginTy &Plugin) {
DeviceMemoryPoolTracking.AllocationMax);
}
+ for (auto *Image : LoadedImages) {
+GenericGlobalHandlerTy &Handler = Plugin.getGlobalHandler();
+if (!Handler.hasProfilingGlobals(*
@@ -444,32 +444,81 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
@@ -0,0 +1,57 @@
+// clang-format off
+// RUN: %libomptarget-compilexx-generic && %libomptarget-run-generic 2>&1 |
%fcheck-generic
+// clang-format on
+
+// UNSUPPORTED: aarch64-unknown-linux-gnu
+// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO
+// UNSUPPORTED: x86_64-pc-linux-gnu
@@ -444,32 +444,81 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
@@ -3044,6 +3046,9 @@ void CodeGenFunction::EmitOMPForOuterLoop(
OuterLoopArgs.DKind = LoopArgs.DKind;
EmitOMPOuterLoop(DynamicOrOrdered, IsMonotonic, S, LoopScope, OuterLoopArgs,
emitOMPLoopBodyWithStopPoint, CodeGenOrdered);
+ if (DynamicOrOrdered) {
-
@@ -0,0 +1,84 @@
+// clang-format off
+// RUN: %libomptarget-compile-generic && %libomptarget-run-generic 2>&1 |
%fcheck-generic
+// clang-format on
+
+// UNSUPPORTED: aarch64-unknown-linux-gnu
+// UNSUPPORTED: aarch64-unknown-linux-gnu-LTO
+// UNSUPPORTED: x86_64-pc-linux-gnu
+/
@@ -444,32 +444,81 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/96561
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -444,28 +445,77 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
@@ -444,28 +445,77 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
@@ -444,28 +445,77 @@ template struct
omptarget_nvptx_LoopSupport {
// KMP interface implementation (dyn loops)
-// TODO: This is a stopgap. We probably want to expand the dispatch API to take
https://github.com/jdoerfert approved this pull request.
LG, @shiltian, OK?
https://github.com/llvm/llvm-project/pull/97065
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert edited
https://github.com/llvm/llvm-project/pull/110179
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/jdoerfert commented:
I left many minor comments but nothing blocking.
@jhuber6 Were there any conceptual concerns in the thread?
https://github.com/llvm/llvm-project/pull/110179
___
cfe-commits mailing list
cfe-commits@lists.llvm.o
@@ -0,0 +1,154 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,86 @@
+//===-- gpuintrin.h - Generic GPU intrinsic functions
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,86 @@
+//===-- gpuintrin.h - Generic GPU intrinsic functions
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,154 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,154 @@
+//===-- nvptxintrin.h - NVPTX intrinsic functions
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,86 @@
+//===-- gpuintrin.h - Generic GPU intrinsic functions
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,184 @@
+//===-- nvptxintrin.h - NVPTX intrinsic functions
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,154 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,154 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,154 @@
+//===-- amdgpuintrin.h - AMDPGU intrinsic functions
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
301 - 400 of 474 matches
Mail list logo