llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang @llvm/pr-subscribers-llvm-support Author: Paul Walker (paulwalker-arm) <details> <summary>Changes</summary> Implements the follow-on work requesting on https://github.com/llvm/llvm-project/pull/75614. --- Full diff: https://github.com/llvm/llvm-project/pull/82810.diff 2 Files Affected: - (modified) clang/lib/CodeGen/CGCall.cpp (+6-9) - (modified) llvm/include/llvm/Support/TypeSize.h (-2) ``````````diff diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp index d05cf1c6e1814e..0d86fcf544d0fd 100644 --- a/clang/lib/CodeGen/CGCall.cpp +++ b/clang/lib/CodeGen/CGCall.cpp @@ -3221,12 +3221,10 @@ void CodeGenFunction::EmitFunctionProlog(const CGFunctionInfo &FI, llvm::StructType *STy = dyn_cast<llvm::StructType>(ArgI.getCoerceToType()); - llvm::TypeSize StructSize; - llvm::TypeSize PtrElementSize; if (ArgI.isDirect() && !ArgI.getCanBeFlattened() && STy && STy->getNumElements() > 1) { - StructSize = CGM.getDataLayout().getTypeAllocSize(STy); - PtrElementSize = + llvm::TypeSize StructSize = CGM.getDataLayout().getTypeAllocSize(STy); + llvm::TypeSize PtrElementSize = CGM.getDataLayout().getTypeAllocSize(ConvertTypeForMem(Ty)); if (STy->containsHomogeneousScalableVectorTypes()) { assert(StructSize == PtrElementSize && @@ -5310,12 +5308,11 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo &CallInfo, llvm::StructType *STy = dyn_cast<llvm::StructType>(ArgInfo.getCoerceToType()); - llvm::Type *SrcTy = ConvertTypeForMem(I->Ty); - llvm::TypeSize SrcTypeSize; - llvm::TypeSize DstTypeSize; if (STy && ArgInfo.isDirect() && !ArgInfo.getCanBeFlattened()) { - SrcTypeSize = CGM.getDataLayout().getTypeAllocSize(SrcTy); - DstTypeSize = CGM.getDataLayout().getTypeAllocSize(STy); + llvm::Type *SrcTy = ConvertTypeForMem(I->Ty); + llvm::TypeSize SrcTypeSize = + CGM.getDataLayout().getTypeAllocSize(SrcTy); + llvm::TypeSize DstTypeSize = CGM.getDataLayout().getTypeAllocSize(STy); if (STy->containsHomogeneousScalableVectorTypes()) { assert(SrcTypeSize == DstTypeSize && "Only allow non-fractional movement of structure with " diff --git a/llvm/include/llvm/Support/TypeSize.h b/llvm/include/llvm/Support/TypeSize.h index 1b793b0eccf3c7..68dbe1ea3062ab 100644 --- a/llvm/include/llvm/Support/TypeSize.h +++ b/llvm/include/llvm/Support/TypeSize.h @@ -321,8 +321,6 @@ class TypeSize : public details::FixedOrScalableQuantity<TypeSize, uint64_t> { : FixedOrScalableQuantity(V) {} public: - constexpr TypeSize() : FixedOrScalableQuantity(0, false) {} - constexpr TypeSize(ScalarTy Quantity, bool Scalable) : FixedOrScalableQuantity(Quantity, Scalable) {} `````````` </details> https://github.com/llvm/llvm-project/pull/82810 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits