diff options
author | Sergio Afonso <safonsof@amd.com> | 2025-01-14 11:08:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-14 11:08:55 +0000 |
commit | 27bc6bdaba1138d611e256e890023eefee677edc (patch) | |
tree | 32d026a62299fd19d39453cc2a2cbd315f1a1b77 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | 0bf1591d01a218dff236e94ca9e0880013129855 (diff) | |
download | llvm-27bc6bdaba1138d611e256e890023eefee677edc.zip llvm-27bc6bdaba1138d611e256e890023eefee677edc.tar.gz llvm-27bc6bdaba1138d611e256e890023eefee677edc.tar.bz2 |
[OMPIRBuilder] Introduce struct to hold default kernel teams/threads (#116050)
This patch introduces the `OpenMPIRBuilder::TargetKernelDefaultAttrs`
structure used to simplify passing default and constant values for
number of teams and threads, and possibly other target kernel-related
information in the future.
This is used to forward values passed to `createTarget` to
`createTargetInit`, which previously used a default unrelated set of
values.
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index cdca725..04ecd7e 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -6229,10 +6229,14 @@ TEST_F(OpenMPIRBuilderTest, TargetRegion) { TargetRegionEntryInfo EntryInfo("func", 42, 4711, 17); OpenMPIRBuilder::LocationDescription OmpLoc({Builder.saveIP(), DL}); + OpenMPIRBuilder::TargetKernelDefaultAttrs DefaultAttrs = { + /*IsSPMD=*/false, /*MaxTeams=*/{-1}, /*MinTeams=*/0, /*MaxThreads=*/{0}, + /*MinThreads=*/0}; + ASSERT_EXPECTED_INIT( OpenMPIRBuilder::InsertPointTy, AfterIP, OMPBuilder.createTarget(OmpLoc, /*IsOffloadEntry=*/true, Builder.saveIP(), - Builder.saveIP(), EntryInfo, -1, 0, Inputs, + Builder.saveIP(), EntryInfo, DefaultAttrs, Inputs, GenMapInfoCB, BodyGenCB, SimpleArgAccessorCB)); Builder.restoreIP(AfterIP); OMPBuilder.finalize(); @@ -6339,13 +6343,15 @@ TEST_F(OpenMPIRBuilderTest, TargetRegionDevice) { F->getEntryBlock().getFirstInsertionPt()); TargetRegionEntryInfo EntryInfo("parent", /*DeviceID=*/1, /*FileID=*/2, /*Line=*/3, /*Count=*/0); + OpenMPIRBuilder::TargetKernelDefaultAttrs DefaultAttrs = { + /*IsSPMD=*/false, /*MaxTeams=*/{-1}, /*MinTeams=*/0, /*MaxThreads=*/{0}, + /*MinThreads=*/0}; ASSERT_EXPECTED_INIT( OpenMPIRBuilder::InsertPointTy, AfterIP, OMPBuilder.createTarget(Loc, /*IsOffloadEntry=*/true, EntryIP, EntryIP, - EntryInfo, /*NumTeams=*/-1, - /*NumThreads=*/0, CapturedArgs, GenMapInfoCB, - BodyGenCB, SimpleArgAccessorCB)); + EntryInfo, DefaultAttrs, CapturedArgs, + GenMapInfoCB, BodyGenCB, SimpleArgAccessorCB)); Builder.restoreIP(AfterIP); Builder.CreateRetVoid(); @@ -6496,13 +6502,15 @@ TEST_F(OpenMPIRBuilderTest, ConstantAllocaRaise) { F->getEntryBlock().getFirstInsertionPt()); TargetRegionEntryInfo EntryInfo("parent", /*DeviceID=*/1, /*FileID=*/2, /*Line=*/3, /*Count=*/0); + OpenMPIRBuilder::TargetKernelDefaultAttrs DefaultAttrs = { + /*IsSPMD=*/false, /*MaxTeams=*/{-1}, /*MinTeams=*/0, /*MaxThreads=*/{0}, + /*MinThreads=*/0}; ASSERT_EXPECTED_INIT( OpenMPIRBuilder::InsertPointTy, AfterIP, OMPBuilder.createTarget(Loc, /*IsOffloadEntry=*/true, EntryIP, EntryIP, - EntryInfo, /*NumTeams=*/-1, - /*NumThreads=*/0, CapturedArgs, GenMapInfoCB, - BodyGenCB, SimpleArgAccessorCB)); + EntryInfo, DefaultAttrs, CapturedArgs, + GenMapInfoCB, BodyGenCB, SimpleArgAccessorCB)); Builder.restoreIP(AfterIP); Builder.CreateRetVoid(); |