Index: llvm/lib/Transforms/IPO/OpenMPOpt.cpp =================================================================== --- llvm/lib/Transforms/IPO/OpenMPOpt.cpp +++ llvm/lib/Transforms/IPO/OpenMPOpt.cpp @@ -5124,7 +5124,7 @@ 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) Index: llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll =================================================================== --- /dev/null +++ llvm/test/Transforms/OpenMP/no-insert-nvvm-annotations.ll @@ -0,0 +1,12 @@ +; RUN: opt -S -passes=openmp-opt < %s | FileCheck %s +; Make sure nnvm.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}