[libunwind] [Clang] Add __builtin_vectorelements to get number of elements in vector (PR #69010)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 13 09:58:14 PDT 2023


================
@@ -3083,6 +3083,19 @@ ScalarExprEmitter::VisitUnaryExprOrTypeTraitExpr(
                 E->getTypeOfArgument()->getPointeeType()))
             .getQuantity();
     return llvm::ConstantInt::get(CGF.SizeTy, Alignment);
+  } else if (E->getKind() == UETT_VectorElements) {
+    // For scalable vectors, we don't know the size at compile time. We can use
+    // @llvm.vscale to calculate it at runtime.
+    if (E->getTypeOfArgument()->isSizelessVectorType()) {
----------------
erichkeane wrote:

Where do you handle non-sizeless vector types that make it here?   

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


More information about the cfe-commits mailing list