From c0981da47d5696fe36474fcf86b4ce03ae3ff818 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Fri, 19 Nov 2021 21:06:13 +0100 Subject: Vendor import of llvm-project main llvmorg-14-init-10186-gff7f2cfa959b. --- clang/lib/CodeGen/CGCUDANV.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'clang/lib/CodeGen/CGCUDANV.cpp') diff --git a/clang/lib/CodeGen/CGCUDANV.cpp b/clang/lib/CodeGen/CGCUDANV.cpp index 88030fee501b..a1b4431ca8c4 100644 --- a/clang/lib/CodeGen/CGCUDANV.cpp +++ b/clang/lib/CodeGen/CGCUDANV.cpp @@ -177,7 +177,7 @@ public: llvm::Function *finalizeModule() override; }; -} +} // end anonymous namespace std::string CGNVCUDARuntime::addPrefixToName(StringRef FuncName) const { if (CGM.getLangOpts().HIP) @@ -237,11 +237,10 @@ llvm::FunctionCallee CGNVCUDARuntime::getLaunchFn() const { // hipError_t hipLaunchByPtr(char *); return CGM.CreateRuntimeFunction( llvm::FunctionType::get(IntTy, CharPtrTy, false), "hipLaunchByPtr"); - } else { - // cudaError_t cudaLaunch(char *); - return CGM.CreateRuntimeFunction( - llvm::FunctionType::get(IntTy, CharPtrTy, false), "cudaLaunch"); } + // cudaError_t cudaLaunch(char *); + return CGM.CreateRuntimeFunction( + llvm::FunctionType::get(IntTy, CharPtrTy, false), "cudaLaunch"); } llvm::FunctionType *CGNVCUDARuntime::getRegisterGlobalsFnTy() const { @@ -253,8 +252,8 @@ llvm::FunctionType *CGNVCUDARuntime::getCallbackFnTy() const { } llvm::FunctionType *CGNVCUDARuntime::getRegisterLinkedBinaryFnTy() const { - auto CallbackFnTy = getCallbackFnTy(); - auto RegisterGlobalsFnTy = getRegisterGlobalsFnTy(); + auto *CallbackFnTy = getCallbackFnTy(); + auto *RegisterGlobalsFnTy = getRegisterGlobalsFnTy(); llvm::Type *Params[] = {RegisterGlobalsFnTy->getPointerTo(), VoidPtrTy, VoidPtrTy, CallbackFnTy->getPointerTo()}; return llvm::FunctionType::get(VoidTy, Params, false); @@ -397,7 +396,7 @@ void CGNVCUDARuntime::emitDeviceStubBodyNew(CodeGenFunction &CGF, QualType QT = cudaLaunchKernelFD->getType(); QualType CQT = QT.getCanonicalType(); llvm::Type *Ty = CGM.getTypes().ConvertType(CQT); - llvm::FunctionType *FTy = dyn_cast(Ty); + llvm::FunctionType *FTy = cast(Ty); const CGFunctionInfo &FI = CGM.getTypes().arrangeFunctionDeclaration(cudaLaunchKernelFD); @@ -473,7 +472,7 @@ static void replaceManagedVar(llvm::GlobalVariable *Var, // variable with instructions. for (auto &&Op : WorkItem) { auto *CE = cast(Op); - auto *NewInst = llvm::createReplacementInstr(CE, I); + auto *NewInst = CE->getAsInstruction(I); NewInst->replaceUsesOfWith(OldV, NewV); OldV = CE; NewV = NewInst; @@ -590,7 +589,7 @@ llvm::Function *CGNVCUDARuntime::makeRegisterGlobalsFn() { uint64_t VarSize = CGM.getDataLayout().getTypeAllocSize(Var->getValueType()); if (Info.Flags.isManaged()) { - auto ManagedVar = new llvm::GlobalVariable( + auto *ManagedVar = new llvm::GlobalVariable( CGM.getModule(), Var->getType(), /*isConstant=*/false, Var->getLinkage(), /*Init=*/Var->isDeclaration() @@ -823,7 +822,7 @@ llvm::Function *CGNVCUDARuntime::makeModuleCtorFunction() { GpuBinaryHandle, CharUnits::fromQuantity(GpuBinaryHandle->getAlignment())); { - auto HandleValue = CtorBuilder.CreateLoad(GpuBinaryAddr); + auto *HandleValue = CtorBuilder.CreateLoad(GpuBinaryAddr); llvm::Constant *Zero = llvm::Constant::getNullValue(HandleValue->getType()); llvm::Value *EQZero = CtorBuilder.CreateICmpEQ(HandleValue, Zero); @@ -842,7 +841,7 @@ llvm::Function *CGNVCUDARuntime::makeModuleCtorFunction() { CtorBuilder.SetInsertPoint(ExitBlock); // Call __hip_register_globals(GpuBinaryHandle); if (RegisterGlobalsFunc) { - auto HandleValue = CtorBuilder.CreateLoad(GpuBinaryAddr); + auto *HandleValue = CtorBuilder.CreateLoad(GpuBinaryAddr); CtorBuilder.CreateCall(RegisterGlobalsFunc, HandleValue); } } @@ -958,7 +957,7 @@ llvm::Function *CGNVCUDARuntime::makeModuleDtorFunction() { Address GpuBinaryAddr(GpuBinaryHandle, CharUnits::fromQuantity( GpuBinaryHandle->getAlignment())); - auto HandleValue = DtorBuilder.CreateLoad(GpuBinaryAddr); + auto *HandleValue = DtorBuilder.CreateLoad(GpuBinaryAddr); // There is only one HIP fat binary per linked module, however there are // multiple destructor functions. Make sure the fat binary is unregistered // only once. @@ -1071,7 +1070,7 @@ void CGNVCUDARuntime::transformManagedVars() { llvm::GlobalVariable *Var = Info.Var; if (Info.Flags.getKind() == DeviceVarFlags::Variable && Info.Flags.isManaged()) { - auto ManagedVar = new llvm::GlobalVariable( + auto *ManagedVar = new llvm::GlobalVariable( CGM.getModule(), Var->getType(), /*isConstant=*/false, Var->getLinkage(), /*Init=*/Var->isDeclaration() @@ -1148,6 +1147,7 @@ llvm::GlobalValue *CGNVCUDARuntime::getKernelHandle(llvm::Function *F, Var->setAlignment(CGM.getPointerAlign().getAsAlign()); Var->setDSOLocal(F->isDSOLocal()); Var->setVisibility(F->getVisibility()); + CGM.maybeSetTrivialComdat(*GD.getDecl(), *Var); KernelHandles[F] = Var; KernelStubs[Var] = F; return Var; -- cgit v1.2.3