diff --git a/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp b/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp index a0d655320988e..fdc914a72bfd7 100644 --- a/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp +++ b/llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp @@ -63,7 +63,9 @@ static Value *callPrintfBegin(IRBuilder<> &Builder, Value *Version) { 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); }