|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
| #
ca4af13e |
| 21-Jun-2022 |
Kazu Hirata <[email protected]> |
[clang] Don't use Optional::getValue (NFC)
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
af757f89 |
| 10-May-2022 |
Joseph Huber <[email protected]> |
[OpenMP] Don't set device runtime debugging flags if using '-nogpulib'
We use globals to configure debugging at compile-time for the device runtime. Because these are only used by the OpenMP runtime
[OpenMP] Don't set device runtime debugging flags if using '-nogpulib'
We use globals to configure debugging at compile-time for the device runtime. Because these are only used by the OpenMP runtime we shouldn't define them if we aren't using the device runtime. When a user passes in '-nogpulib' this indicates that we are not using the device runtime, so we should check for the precense of this flag and not emit these globals if used.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D125314
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
8bdfc73f |
| 13-Apr-2022 |
Joe Nash <[email protected]> |
[AMDGPU][clang] Definition of gfx11 subtarget
Contributors: Jay Foad <[email protected]> Konstantin Zhuravlyov <[email protected]>
Patch 2/N for upstreaming of AMDGPU gfx11 architecture
Depe
[AMDGPU][clang] Definition of gfx11 subtarget
Contributors: Jay Foad <[email protected]> Konstantin Zhuravlyov <[email protected]>
Patch 2/N for upstreaming of AMDGPU gfx11 architecture
Depends on D124536
Reviewed By: foad, kzhuravl, #amdgpu, arsenm
Differential Revision: https://reviews.llvm.org/D124537
show more ...
|
|
Revision tags: llvmorg-14.0.1 |
|
| #
8b62dd3c |
| 18-Mar-2022 |
Nikita Popov <[email protected]> |
Reapply [CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()
This requires some adjustment in caller code, because there was a confusion regarding the meaning of the PtrTy argument: This a
Reapply [CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()
This requires some adjustment in caller code, because there was a confusion regarding the meaning of the PtrTy argument: This argument is the type of the pointer being loaded, not the addresses being loaded from.
Reapply after fixing the specified pointer type for one call in 47eb4f7dcd845878b16a53dadd765195b9c24b6e, where the used type is important for determining alignment.
show more ...
|
| #
27f6cee1 |
| 23-Mar-2022 |
Nikita Popov <[email protected]> |
Revert "[CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()"
This reverts commit 767ec883e37510a247ea5695921876ef67cf5b3f.
This results in a some incorrect alignments which are not cover
Revert "[CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()"
This reverts commit 767ec883e37510a247ea5695921876ef67cf5b3f.
This results in a some incorrect alignments which are not covered by existing tests.
show more ...
|
| #
4f5640ca |
| 22-Mar-2022 |
Nikita Popov <[email protected]> |
[CGOpenMPRuntime] Remove some uses of deprecated Address ctor
|
| #
73c0d05e |
| 22-Mar-2022 |
Nikita Popov <[email protected]> |
[CGOpenMPRuntimeGPU] Remove uses of deprecated address constructor
Worth noting that the code marked with FIXME is dead and would produce invalid IR if hit. Someone familiar with this code should pr
[CGOpenMPRuntimeGPU] Remove uses of deprecated address constructor
Worth noting that the code marked with FIXME is dead and would produce invalid IR if hit. Someone familiar with this code should probably look into that.
show more ...
|
| #
767ec883 |
| 18-Mar-2022 |
Nikita Popov <[email protected]> |
[CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()
This requires some adjustment in caller code, because there was a confusion regarding the meaning of the PtrTy argument: This argument
[CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()
This requires some adjustment in caller code, because there was a confusion regarding the meaning of the PtrTy argument: This argument is the type of the pointer being loaded, not the addresses being loaded from.
show more ...
|
| #
7a2e12e0 |
| 21-Mar-2022 |
Nikita Popov <[email protected]> |
[CodeGen][OpenMP] Use correct type in EmitLoadOfPointer()
The EmitLoadOfPointer() call already specified the right pointer type, but it did not match the Address we're loading from, so we need to in
[CodeGen][OpenMP] Use correct type in EmitLoadOfPointer()
The EmitLoadOfPointer() call already specified the right pointer type, but it did not match the Address we're loading from, so we need to insert a bitcast first.
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
84069581 |
| 02-Mar-2022 |
Aakanksha <[email protected]> |
[AMDGPU] Add gfx1036 target
Differential Revision: https://reviews.llvm.org/D120846
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
2e2e64df |
| 28-Feb-2022 |
Stanislav Mekhanoshin <[email protected]> |
[AMDGPU] Add gfx940 target
This is target definition only.
Differential Revision: https://reviews.llvm.org/D120688
|
| #
d112cc27 |
| 02-Mar-2022 |
Akira Hatanaka <[email protected]> |
[NFC][Clang][OpaquePtr] Remove the call to Address::deprecated in CreatePointerBitCastOrAddrSpaceCast
Differential Revision: https://reviews.llvm.org/D120757
|
| #
0870a4f5 |
| 18-Feb-2022 |
Joseph Huber <[email protected]> |
[OpenMP] Add flag for disabling thread state in runtime
The runtime uses thread state values to indicate when we use an ICV or are in nested parallelism. This is done for OpenMP correctness, but it
[OpenMP] Add flag for disabling thread state in runtime
The runtime uses thread state values to indicate when we use an ICV or are in nested parallelism. This is done for OpenMP correctness, but it not needed in the majority of cases. The new flag added is `-fopenmp-assume-no-thread-state`.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D120106
show more ...
|
| #
50650766 |
| 16-Feb-2022 |
Nikita Popov <[email protected]> |
[CodeGen] Rename deprecated Address constructor
To make uses of the deprecated constructor easier to spot, and to ensure that no new uses are introduced, rename it to Address::deprecated().
While d
[CodeGen] Rename deprecated Address constructor
To make uses of the deprecated constructor easier to spot, and to ensure that no new uses are introduced, rename it to Address::deprecated().
While doing the rename, I've filled in element types in cases where it was relatively obvious, but we're still left with 135 calls to the deprecated constructor.
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
034adaf5 |
| 03-Feb-2022 |
Joseph Huber <[email protected]> |
[OpenMP] Completely remove old device runtime
This patch completely removes the old OpenMP device runtime. Previously, the old runtime had the prefix `libomptarget-new-` and the old runtime was simp
[OpenMP] Completely remove old device runtime
This patch completely removes the old OpenMP device runtime. Previously, the old runtime had the prefix `libomptarget-new-` and the old runtime was simply called `libomptarget-`. This patch makes the formerly new runtime the only runtime available. The entire project has been deleted, and all references to the `libomptarget-new` runtime has been replaced with `libomptarget-`.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D118934
show more ...
|
|
Revision tags: llvmorg-15-init |
|
| #
53d5757e |
| 01-Feb-2022 |
Joseph Huber <[email protected]> |
[OpenMP] Add kernel string attribute to kernel function
This patch adds a function attribute to the kernel function generated in OpenMP offloading. We already create a `nvvm.annotations` metadata no
[OpenMP] Add kernel string attribute to kernel function
This patch adds a function attribute to the kernel function generated in OpenMP offloading. We already create a `nvvm.annotations` metadata node indicating the kernels present in the program. However, this created some indirection when trying to identify if a specific function was an entry. We add a single function attribute for each function now to simplify this.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D118708
show more ...
|
| #
2945f11c |
| 27-Jan-2022 |
Joseph Huber <[email protected]> |
[OpenMP] Only generate runtime flags with host input
This patch changes the code generation of runtime flags to only occur if a host bitcode file was passed in. This is a cheap way to determine if w
[OpenMP] Only generate runtime flags with host input
This patch changes the code generation of runtime flags to only occur if a host bitcode file was passed in. This is a cheap way to determine if we are compiling the OpenMP device runtime itself or user code. This is needed because the global flags we generate for the device runtime e.g. __omp_rtl_debug_kind were being generated with default values when we compiled the runtime library. This would then invalidate the ones we want to be able to add in when the user defines it.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D118399
show more ...
|
| #
30d4a7e2 |
| 25-Jan-2022 |
Nikita Popov <[email protected]> |
[IRBuilder] Require explicit element type in CreatePtrDiff()
For opaque pointer compatibility, we cannot derive the element type from the pointer type.
|
| #
99adacbc |
| 25-Jan-2022 |
Nikita Popov <[email protected]> |
[clang] Remove some getPointerElementType() uses
Same cases where the call can be removed in a straightforward way.
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
7cdaa5a9 |
| 17-Dec-2021 |
Joseph Huber <[email protected]> |
[OpenMP][FIX] Change globalization alignment to 16
This patch changes the default aligntment from 8 to 16, and encodes this information in the `__kmpc_alloc_shared` runtime call to communicate it to
[OpenMP][FIX] Change globalization alignment to 16
This patch changes the default aligntment from 8 to 16, and encodes this information in the `__kmpc_alloc_shared` runtime call to communicate it to the HeapToStack pass. The previous alignment of 8 was not sufficient for the maximum size of primitive types on 64-bit systems, and needs to be increaesd. This reduces the amount of space availible in the data sharing stack, so this implementation will need to be improved later to include the alignment requirements in the allocation call, and use it properly in the data sharing stack in the runtime.
Depends on D115888
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D115971
show more ...
|
| #
2c7dc131 |
| 23-Dec-2021 |
Nikita Popov <[email protected]> |
[CGBuilder] Add CreateGEP() overload that accepts an Address
Add an overload for an Address and a single non-constant offset. This makes it easier to preserve the element type and adjust the alignme
[CGBuilder] Add CreateGEP() overload that accepts an Address
Add an overload for an Address and a single non-constant offset. This makes it easier to preserve the element type and adjust the alignment appropriately.
show more ...
|
| #
a6786cdd |
| 17-Dec-2021 |
Yaxun (Sam) Liu <[email protected]> |
[HIPSPV][3/4] Enable SPIR-V emission for HIP
This patch enables SPIR-V binary emission for HIP device code via the HIPSPV tool chain.
‘--offload’ option, which is envisioned in [1], is added for sp
[HIPSPV][3/4] Enable SPIR-V emission for HIP
This patch enables SPIR-V binary emission for HIP device code via the HIPSPV tool chain.
‘--offload’ option, which is envisioned in [1], is added for specifying offload targets. This option is used to override default device target (amdgcn-amd-amdhsa) for HIP compilation for emitting device code as SPIR-V binary. The option is handled in getHIPOffloadTargetTriple().
getOffloadingDeviceToolChain() function (based on the design in the SYCL repository) is added to select HIPSPVToolChain when HIP offload target is ‘spirv64’.
The HIPActionBuilder is modified to produce LLVM IR at the backend phase. HIPSPV tool chain expects to receive HIP device code as LLVM IR so it can run external LLVM passes over them. HIPSPV TC is also responsible for emitting the SPIR-V binary.
A Cuda GPU architecture ‘generic’ is added. The name is picked from the LLVM SPIR-V Backend. In the HIPSPV code path the architecture name is inserted to the bundle entry ID as target ID. Target ID is expected to be always present so a component in the target triple is not mistaken as target ID.
Tests are added for checking the HIPSPV tool chain.
[1]: https://lists.llvm.org/pipermail/cfe-dev/2020-December/067362.html
Patch by: Henry Linjamäki
Reviewed by: Yaxun Liu, Artem Belevich, Alexey Bader
Differential Revision: https://reviews.llvm.org/D110622
show more ...
|
| #
bc9c4d72 |
| 09-Dec-2021 |
Joseph Huber <[email protected]> |
[OpenMP][FIX] Pass the num_threads value directly to parallel_51
The problem with the old scheme is that we would need to keep track of the "next region" and reset the num_threads value after it. Th
[OpenMP][FIX] Pass the num_threads value directly to parallel_51
The problem with the old scheme is that we would need to keep track of the "next region" and reset the num_threads value after it. The new RT doesn't do it and an assertion is triggered. The old RT doesn't do it either, I haven't tested it but I assume a num_threads clause might impact multiple parallel regions "accidentally". Further, in SPMD mode num_threads was simply ignored, for some reason beyond me.
In any case, parallel_51 is designed to take the clause value directly, so let's do that instead.
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D113623
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
737c4a26 |
| 09-Nov-2021 |
Atmn Patel <[email protected]> |
[clang][openmp][NFC] Remove arch-specific CGOpenMPRuntimeGPU files
The existing CGOpenMPRuntimeAMDGCN and CGOpenMPRuntimeNVPTX classes are just code bloat. By removing them, the codebase gets a bit
[clang][openmp][NFC] Remove arch-specific CGOpenMPRuntimeGPU files
The existing CGOpenMPRuntimeAMDGCN and CGOpenMPRuntimeNVPTX classes are just code bloat. By removing them, the codebase gets a bit cleaner.
Reviewed By: jdoerfert, JonChesterfield, tianshilei1992
Differential Revision: https://reviews.llvm.org/D113421
show more ...
|
| #
ef717f38 |
| 09-Nov-2021 |
Atmn Patel <[email protected]> |
Revert "[clang][openmp][NFC] Remove arch-specific CGOpenMPRuntimeGPU files"
This reverts commit 81a7cad2ffc18f15b732f69d991c8398c979c5ca.
|