[OpenMP][OMPIRBuilder] Add support for order(concurrent) to OMPIRBuilder for SIMD...
authorDominik Adamski <dominik.adamski@amd.com>
Fri, 16 Sep 2022 09:01:17 +0000 (04:01 -0500)
committerDominik Adamski <dominik.adamski@amd.com>
Tue, 4 Oct 2022 13:30:00 +0000 (08:30 -0500)
commit6842d35012668d5dc3846fcbde136326e6e09bb3
tree575bb319e030c380fc15e79b57dedbea087c7115
parent21e5bd4d3b213b9b10d8424aec398eba245e3dd4
[OpenMP][OMPIRBuilder] Add support for order(concurrent) to OMPIRBuilder for SIMD directive

If 'order(concurrent)' clause is specified, then the iterations of SIMD loop
can be executed concurrently.

This patch adds support for LLVM IR codegen via OMPIRBuilder for SIMD loop
with 'order(concurrent)' clause. The functionality added to OMPIRBuilder is
similar to the functionality implemented in 'CodeGenFunction::EmitOMPSimdInit'.

Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D134046

Signed-off-by: Dominik Adamski <dominik.adamski@amd.com>
clang/lib/CodeGen/CGStmtOpenMP.cpp
clang/test/OpenMP/irbuilder_safelen_order_concurrent.cpp [new file with mode: 0644]
llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp