diff --git a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp --- a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp +++ b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp @@ -1500,20 +1500,20 @@ } // OMPInfoCache has returned the analysis result -- pack the feature // values into the [* x i64] array and inject them as the constant - // global variable with the name '$KernelName.KernelFeatures' + // global variable with the name '$KernelName_KernelFeatures' IntegerType *FeatureType = Type::getInt64Ty(M.getContext()); ArrayRef FeatureArrayRef{ ConstantInt::get(FeatureType, FunctionInfo->BasicBlockCount), ConstantInt::get( FeatureType, FunctionInfo->BlocksReachedFromConditionalInstruction), + ConstantInt::get(FeatureType, FunctionInfo->Uses), ConstantInt::get(FeatureType, FunctionInfo->DirectCallsToDefinedFunctions), ConstantInt::get(FeatureType, FunctionInfo->LoadInstCount), - ConstantInt::get(FeatureType, FunctionInfo->MaxLoopDepth), ConstantInt::get(FeatureType, FunctionInfo->StoreInstCount), + ConstantInt::get(FeatureType, FunctionInfo->MaxLoopDepth), ConstantInt::get(FeatureType, FunctionInfo->TopLevelLoopCount), - ConstantInt::get(FeatureType, FunctionInfo->Uses), }; ArrayType *FeatureArrayType = ArrayType::get(FeatureType, FeatureArrayRef.size()); @@ -1521,7 +1521,7 @@ ConstantArray::get(FeatureArrayType, FeatureArrayRef); GlobalVariable *FeatureVector = new GlobalVariable( M, FeatureArrayType, true, GlobalValue::ExternalLinkage, FeatureArray, - F->getName() + ".KernelFeatures"); + F->getName() + "_KernelFeatures"); (void)FeatureVector; IsChanged = true; LLVM_DEBUG({ diff --git a/llvm/test/Transforms/OpenMP/gpu_kernel_features.ll b/llvm/test/Transforms/OpenMP/gpu_kernel_features.ll --- a/llvm/test/Transforms/OpenMP/gpu_kernel_features.ll +++ b/llvm/test/Transforms/OpenMP/gpu_kernel_features.ll @@ -1,9 +1,9 @@ ; RUN: opt -passes=openmp-opt-cgscc -openmp-inject-kernel-features -S < %s | FileCheck %s -; CHECK-DAG: @empty_kernel1.KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 1] -; CHECK-DAG: @empty_kernel2.KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 1] -; CHECK-DAG: @matmul_kernel.KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 1, i64 0, i64 0, i64 1, i64 0, i64 1] -; CHECK-DAG: @multiply_kernel.KernelFeatures = constant [8 x i64] [i64 13, i64 6, i64 0, i64 21, i64 3, i64 11, i64 1, i64 2] +; CHECK-DAG: @empty_kernel1_KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 1, i64 0, i64 0, i64 0, i64 0, i64 0] +; CHECK-DAG: @empty_kernel2_KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 1, i64 0, i64 0, i64 0, i64 0, i64 0] +; CHECK-DAG: @matmul_kernel_KernelFeatures = constant [8 x i64] [i64 1, i64 0, i64 1, i64 1, i64 0, i64 1, i64 0, i64 0] +; CHECK-DAG: @multiply_kernel_KernelFeatures = constant [8 x i64] [i64 13, i64 6, i64 2, i64 0, i64 21, i64 11, i64 3, i64 1] define void @empty_kernel1() { ret void