gchatelet created this revision. gchatelet added a reviewer: courbet. Herald added a project: All. gchatelet requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits.
This remove the last uses of GlobalObject::getAlignment and marks it as deprecated. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D142459 Files: clang/include/clang/AST/CharUnits.h clang/lib/CodeGen/CGCUDANV.cpp clang/lib/CodeGen/CGDecl.cpp clang/lib/CodeGen/CGObjCMac.cpp clang/lib/CodeGen/CodeGenModule.cpp llvm/include/llvm/IR/GlobalObject.h
Index: llvm/include/llvm/IR/GlobalObject.h =================================================================== --- llvm/include/llvm/IR/GlobalObject.h +++ llvm/include/llvm/IR/GlobalObject.h @@ -67,6 +67,7 @@ GlobalObject(const GlobalObject &) = delete; /// FIXME: Remove this function once transition to Align is over. + LLVM_DEPRECATED("Use getAlign() instead", "getAlign") uint64_t getAlignment() const { MaybeAlign Align = getAlign(); return Align ? Align->value() : 0; Index: clang/lib/CodeGen/CodeGenModule.cpp =================================================================== --- clang/lib/CodeGen/CodeGenModule.cpp +++ clang/lib/CodeGen/CodeGenModule.cpp @@ -2132,7 +2132,7 @@ // functions. If the current target's C++ ABI requires this and this is a // member function, set its alignment accordingly. if (getTarget().getCXXABI().areMemberFunctionsAligned()) { - if (F->getAlignment() < 2 && isa<CXXMethodDecl>(D)) + if (F->getAlign() < 2 && isa<CXXMethodDecl>(D)) F->setAlignment(llvm::Align(2)); } @@ -5611,8 +5611,8 @@ StringLength); if (auto *C = Entry.second) - return ConstantAddress( - C, C->getValueType(), CharUnits::fromQuantity(C->getAlignment())); + return ConstantAddress(C, C->getValueType(), + CharUnits::fromQuantity(C->getAlign())); llvm::Constant *Zero = llvm::Constant::getNullValue(Int32Ty); llvm::Constant *Zeros[] = { Zero, Zero }; @@ -5909,7 +5909,7 @@ if (!LangOpts.WritableStrings) { Entry = &ConstantStringMap[C]; if (auto GV = *Entry) { - if (uint64_t(Alignment.getQuantity()) > GV->getAlignment()) + if (GV->getAlign() < uint64_t(Alignment.getQuantity())) GV->setAlignment(Alignment.getAsAlign()); return ConstantAddress(castStringLiteralToDefaultAddressSpace(*this, GV), GV->getValueType(), Alignment); @@ -5976,7 +5976,7 @@ if (!LangOpts.WritableStrings) { Entry = &ConstantStringMap[C]; if (auto GV = *Entry) { - if (uint64_t(Alignment.getQuantity()) > GV->getAlignment()) + if (GV->getAlign() < uint64_t(Alignment.getQuantity())) GV->setAlignment(Alignment.getAsAlign()); return ConstantAddress(castStringLiteralToDefaultAddressSpace(*this, GV), GV->getValueType(), Alignment); Index: clang/lib/CodeGen/CGObjCMac.cpp =================================================================== --- clang/lib/CodeGen/CGObjCMac.cpp +++ clang/lib/CodeGen/CGObjCMac.cpp @@ -1987,8 +1987,8 @@ GetConstantStringEntry(NSConstantStringMap, Literal, StringLength); if (auto *C = Entry.second) - return ConstantAddress( - C, C->getValueType(), CharUnits::fromQuantity(C->getAlignment())); + return ConstantAddress(C, C->getValueType(), + CharUnits::fromQuantity(C->getAlign())); // If we don't already have it, get _NSConstantStringClassReference. llvm::Constant *Class = getNSConstantStringClassRef(); Index: clang/lib/CodeGen/CGDecl.cpp =================================================================== --- clang/lib/CodeGen/CGDecl.cpp +++ clang/lib/CodeGen/CGDecl.cpp @@ -1157,7 +1157,7 @@ GV->setAlignment(Align.getAsAlign()); GV->setUnnamedAddr(llvm::GlobalValue::UnnamedAddr::Global); CacheEntry = GV; - } else if (CacheEntry->getAlignment() < uint64_t(Align.getQuantity())) { + } else if (CacheEntry->getAlign() < uint64_t(Align.getQuantity())) { CacheEntry->setAlignment(Align.getAsAlign()); } Index: clang/lib/CodeGen/CGCUDANV.cpp =================================================================== --- clang/lib/CodeGen/CGCUDANV.cpp +++ clang/lib/CodeGen/CGCUDANV.cpp @@ -488,7 +488,7 @@ llvm::Value *OldV = Var; llvm::Instruction *NewV = new llvm::LoadInst(Var->getType(), ManagedVar, "ld.managed", false, - llvm::Align(Var->getAlignment()), I); + Var->getAlign().valueOrOne(), I); WorkItem.pop_back(); // Replace constant expressions directly or indirectly using the managed // variable with instructions. @@ -631,7 +631,7 @@ Builder.CreateBitCast(Var, VoidPtrTy), VarName, llvm::ConstantInt::get(VarSizeTy, VarSize), - llvm::ConstantInt::get(IntTy, Var->getAlignment())}; + llvm::ConstantInt::get(IntTy, Var->getAlign()->value())}; if (!Var->isDeclaration()) Builder.CreateCall(RegisterManagedVar, Args); } else { @@ -842,9 +842,8 @@ // Prevent the weak symbol in different shared libraries being merged. if (Linkage != llvm::GlobalValue::InternalLinkage) GpuBinaryHandle->setVisibility(llvm::GlobalValue::HiddenVisibility); - Address GpuBinaryAddr( - GpuBinaryHandle, VoidPtrPtrTy, - CharUnits::fromQuantity(GpuBinaryHandle->getAlignment())); + Address GpuBinaryAddr(GpuBinaryHandle, VoidPtrPtrTy, + CharUnits::fromQuantity(GpuBinaryHandle->getAlign())); { auto *HandleValue = CtorBuilder.CreateLoad(GpuBinaryAddr); llvm::Constant *Zero = @@ -979,9 +978,8 @@ CGBuilderTy DtorBuilder(CGM, Context); DtorBuilder.SetInsertPoint(DtorEntryBB); - Address GpuBinaryAddr( - GpuBinaryHandle, GpuBinaryHandle->getValueType(), - CharUnits::fromQuantity(GpuBinaryHandle->getAlignment())); + Address GpuBinaryAddr(GpuBinaryHandle, GpuBinaryHandle->getValueType(), + CharUnits::fromQuantity(GpuBinaryHandle->getAlign())); 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 Index: clang/include/clang/AST/CharUnits.h =================================================================== --- clang/include/clang/AST/CharUnits.h +++ clang/include/clang/AST/CharUnits.h @@ -70,6 +70,12 @@ return CharUnits(Quantity.value()); } + /// fromQuantity - Construct a CharUnits quantity from an llvm::Align + /// quantity. + static CharUnits fromQuantity(llvm::MaybeAlign Quantity) { + return Quantity ? fromQuantity(*Quantity) : Zero(); + } + // Compound assignment. CharUnits& operator+= (const CharUnits &Other) { Quantity += Other.Quantity;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits