diff options
author | Akash Banerjee <akash.banerjee@amd.com> | 2024-06-26 20:18:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-26 20:18:38 +0100 |
commit | 6b1c51bc052ae974e89e623b3d143d010fd09222 (patch) | |
tree | 23a4307e8f7bf6449697d77bda97b89a2bb14ac3 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | 22b36bfa3f18ef1cc858d3301c4eea00a280403a (diff) | |
download | llvm-6b1c51bc052ae974e89e623b3d143d010fd09222.zip llvm-6b1c51bc052ae974e89e623b3d143d010fd09222.tar.gz llvm-6b1c51bc052ae974e89e623b3d143d010fd09222.tar.bz2 |
[OpenMP] Migrate GPU Reductions CodeGen from Clang to OMPIRBuilder (#80343)
This patch migrates the CGOpenMPRuntimeGPU::emitReduction and related functions to the OpenMPIRBUilder. In future patches MLIR OpenMP translation would be making use of these functions.
Co-authored-by: Jan Leyonberg <jan.leyonberg@amd.com>
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index 3ed3034..8653bbd 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -4980,8 +4980,14 @@ TEST_F(OpenMPIRBuilderTest, CreateReductions) { Builder.restoreIP(AfterIP); OpenMPIRBuilder::ReductionInfo ReductionInfos[] = { - {SumType, SumReduced, SumPrivatized, sumReduction, sumAtomicReduction}, - {XorType, XorReduced, XorPrivatized, xorReduction, xorAtomicReduction}}; + {SumType, SumReduced, SumPrivatized, + /*EvaluationKind=*/OpenMPIRBuilder::EvalKind::Scalar, sumReduction, + /*ReductionGenClang=*/nullptr, sumAtomicReduction}, + {XorType, XorReduced, XorPrivatized, + /*EvaluationKind=*/OpenMPIRBuilder::EvalKind::Scalar, xorReduction, + /*ReductionGenClang=*/nullptr, xorAtomicReduction}}; + OMPBuilder.Config.setIsGPU(false); + bool ReduceVariableByRef[] = {false, false}; OMPBuilder.createReductions(BodyIP, BodyAllocaIP, ReductionInfos, @@ -5232,15 +5238,20 @@ TEST_F(OpenMPIRBuilderTest, CreateTwoReductions) { /* NumThreads */ nullptr, OMP_PROC_BIND_default, /* IsCancellable */ false); + OMPBuilder.Config.setIsGPU(false); bool ReduceVariableByRef[] = {false}; OMPBuilder.createReductions( FirstBodyIP, FirstBodyAllocaIP, - {{SumType, SumReduced, SumPrivatized, sumReduction, sumAtomicReduction}}, + {{SumType, SumReduced, SumPrivatized, + /*EvaluationKind=*/OpenMPIRBuilder::EvalKind::Scalar, sumReduction, + /*ReductionGenClang=*/nullptr, sumAtomicReduction}}, ReduceVariableByRef); OMPBuilder.createReductions( SecondBodyIP, SecondBodyAllocaIP, - {{XorType, XorReduced, XorPrivatized, xorReduction, xorAtomicReduction}}, + {{XorType, XorReduced, XorPrivatized, + /*EvaluationKind=*/OpenMPIRBuilder::EvalKind::Scalar, xorReduction, + /*ReductionGenClang=*/nullptr, xorAtomicReduction}}, ReduceVariableByRef); Builder.restoreIP(AfterIP); |