diff options
author | Kaviya Rajendiran <67495422+kaviya2510@users.noreply.github.com> | 2025-01-03 16:22:38 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-03 16:22:38 +0530 |
commit | d3eb65f15dfda454424125b2fa675378bd350889 (patch) | |
tree | fad56032ce2d5069435d777f35d33cd1615d9e70 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | e3ec5a728674fd775bb85a7d159acdb4fa1d69c2 (diff) | |
download | llvm-d3eb65f15dfda454424125b2fa675378bd350889.zip llvm-d3eb65f15dfda454424125b2fa675378bd350889.tar.gz llvm-d3eb65f15dfda454424125b2fa675378bd350889.tar.bz2 |
[MLIR][OpenMP] Lowering aligned clause to LLVM IR for SIMD directive (#119536)
This patch,
- Added a translation support for aligned clause in SIMD directive by passing the alignment details to "llvm.assume" intrinsic.
- Updated the insertion point for llvm.assume intrinsic call in "OMPIRBuilder.cpp".
- Added a check in aligned clause MLIR lowering, to ensure that the alignment value must be a power of 2.
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index d7ac108..9faae88 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -1993,6 +1993,7 @@ TEST_F(OpenMPIRBuilderTest, ApplySimdCustomAligned) { OpenMPIRBuilder OMPBuilder(*M); IRBuilder<> Builder(BB); const int AlignmentValue = 32; + llvm::BasicBlock *sourceBlock = Builder.GetInsertBlock(); AllocaInst *Alloc1 = Builder.CreateAlloca(Builder.getPtrTy(), Builder.getInt64(1)); LoadInst *Load1 = Builder.CreateLoad(Alloc1->getAllocatedType(), Alloc1); @@ -2031,13 +2032,12 @@ TEST_F(OpenMPIRBuilderTest, ApplySimdCustomAligned) { // Check if number of assumption instructions is equal to number of aligned // variables - BasicBlock *LoopPreheader = CLI->getPreheader(); - size_t NumAssummptionCallsInPreheader = count_if( - *LoopPreheader, [](Instruction &I) { return isa<AssumeInst>(I); }); + size_t NumAssummptionCallsInPreheader = + count_if(*sourceBlock, [](Instruction &I) { return isa<AssumeInst>(I); }); EXPECT_EQ(NumAssummptionCallsInPreheader, AlignedVars.size()); // Check if variables are correctly aligned - for (Instruction &Instr : *LoopPreheader) { + for (Instruction &Instr : *sourceBlock) { if (!isa<AssumeInst>(Instr)) continue; AssumeInst *AssumeInstruction = cast<AssumeInst>(&Instr); |