diff options
author | Alex MacLean <amaclean@nvidia.com> | 2025-01-24 16:56:10 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-24 16:56:10 -0800 |
commit | 07ed8187acc31ac3f4779da452864a29d48799ac (patch) | |
tree | cf3d705bc95cdc92f3f498d291d2a1cd59d33344 /llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | |
parent | d92bac8a3ebb19106f6bca6b7613a27c52cb48ab (diff) | |
download | llvm-07ed8187acc31ac3f4779da452864a29d48799ac.zip llvm-07ed8187acc31ac3f4779da452864a29d48799ac.tar.gz llvm-07ed8187acc31ac3f4779da452864a29d48799ac.tar.bz2 |
[OpenMP] Replace nvvm.annotation usage with kernel calling conventions (#122320)
Specifying a kernel with the `ptx_kernel` or `amdgpu_kernel` calling
convention is a more idiomatic and compile-time performant than using
the `nvvm.annoation !"kernel"` metadata.
Transition OMPIRBuilder to use calling conventions for PTX kernels and
no longer emit `nvvm.annoation`. Update OpenMPOpt to work with kernels
specified via calling convention as well as metadata. Update OpenMP
tests to use the calling conventions.
Diffstat (limited to 'llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp')
-rw-r--r-- | llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp index 4261615..64fef02c 100644 --- a/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp +++ b/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp @@ -7622,26 +7622,6 @@ TEST_F(OpenMPIRBuilderTest, createGPUOffloadEntry) { /* Size = */ 0, /* Flags = */ 0, GlobalValue::WeakAnyLinkage); - // Check nvvm.annotations only created for GPU kernels - NamedMDNode *MD = M->getNamedMetadata("nvvm.annotations"); - EXPECT_NE(MD, nullptr); - EXPECT_EQ(MD->getNumOperands(), 1u); - - MDNode *Annotations = MD->getOperand(0); - EXPECT_EQ(Annotations->getNumOperands(), 3u); - - Constant *ConstVal = - dyn_cast<ConstantAsMetadata>(Annotations->getOperand(0))->getValue(); - EXPECT_TRUE(isa<Function>(Fn)); - EXPECT_EQ(ConstVal, cast<Function>(Fn)); - - EXPECT_TRUE(Annotations->getOperand(1).equalsStr("kernel")); - - EXPECT_TRUE(mdconst::hasa<ConstantInt>(Annotations->getOperand(2))); - APInt IntVal = - mdconst::extract<ConstantInt>(Annotations->getOperand(2))->getValue(); - EXPECT_EQ(IntVal, 1); - // Check kernel attributes EXPECT_TRUE(Fn->hasFnAttribute("kernel")); EXPECT_TRUE(Fn->hasFnAttribute(Attribute::MustProgress)); |