aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
diff options
context:
space:
mode:
authorKaviya Rajendiran <67495422+kaviya2510@users.noreply.github.com>2025-01-03 16:22:38 +0530
committerGitHub <noreply@github.com>2025-01-03 16:22:38 +0530
commitd3eb65f15dfda454424125b2fa675378bd350889 (patch)
treefad56032ce2d5069435d777f35d33cd1615d9e70 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
parente3ec5a728674fd775bb85a7d159acdb4fa1d69c2 (diff)
downloadllvm-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.cpp8
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);