[clang] [clang] Fix size and alignment of packed sub-byte integer vectors (PR #161796)

Steffen Larsen via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 6 09:31:47 PDT 2025


================
@@ -2093,10 +2093,15 @@ TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const {
   case Type::ExtVector:
   case Type::Vector: {
     const auto *VT = cast<VectorType>(T);
-    TypeInfo EltInfo = getTypeInfo(VT->getElementType());
-    Width = VT->isPackedVectorBoolType(*this)
-                ? VT->getNumElements()
-                : EltInfo.Width * VT->getNumElements();
+    QualType Elt = VT->getElementType();
+    uint64_t EltWidth = [&]() -> uint64_t {
----------------
steffenlarsen wrote:

While also fixing bit-casts, this lambda function was moved to its own function on the AST context.

https://github.com/llvm/llvm-project/pull/161796


More information about the cfe-commits mailing list