From a87de3a6dc73abf90802e95c15e68ac27a3bafe1 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Sun, 1 Jan 2023 14:33:15 -0500 Subject: [PATCH] OpenMPOpt: Fix introducing empty nvvm.annotations into module --- llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 2 +- llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll diff --git a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp index f78422f..f752ff8 100644 --- a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp +++ b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp @@ -5122,7 +5122,7 @@ PreservedAnalyses OpenMPOptCGSCCPass::run(LazyCallGraph::SCC &C, KernelSet llvm::omp::getDeviceKernels(Module &M) { // TODO: Create a more cross-platform way of determining device kernels. - NamedMDNode *MD = M.getOrInsertNamedMetadata("nvvm.annotations"); + NamedMDNode *MD = M.getNamedMetadata("nvvm.annotations"); KernelSet Kernels; if (!MD) diff --git a/llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll b/llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll new file mode 100644 index 0000000..62d8e1e --- /dev/null +++ b/llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll @@ -0,0 +1,12 @@ +; RUN: opt -S -passes=openmp-opt < %s | FileCheck %s +; Make sure nvvm.annotations isn't introduced into the module + +; CHECK-NOT: nvvm + +define amdgpu_kernel void @foo() { + ret void +} + +!llvm.module.flags = !{!0} + +!0 = !{i32 7, !"openmp", i32 50} -- 2.7.4