diff --git a/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp b/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp --- a/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp +++ b/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp @@ -63,7 +63,9 @@ auto Int64Ty = Builder.getInt64Ty(); auto M = Builder.GetInsertBlock()->getModule(); auto Fn = M->getOrInsertFunction("__ockl_printf_begin", Int64Ty, Int64Ty); - M->addModuleFlag(llvm::Module::Override, "amdgpu_hostcall", 1); + if (!M->getModuleFlag("amdgpu_hostcall")) { + M->addModuleFlag(llvm::Module::Override, "amdgpu_hostcall", 1); + } return Builder.CreateCall(Fn, Version); }