[clang] [CIR] Upstream Vector support in elementTypeIfVector (PR #140125)
Amr Hesham via cfe-commits
cfe-commits at lists.llvm.org
Thu May 15 12:19:50 PDT 2025
https://github.com/AmrDeveloper created https://github.com/llvm/llvm-project/pull/140125
Upstream vector support in the element type if vector as a required change for upstreaming other Vec Ops
Issue https://github.com/llvm/llvm-project/issues/136487
>From b9f624e508db8349516f909f0c8e9cb85c04e0d1 Mon Sep 17 00:00:00 2001
From: AmrDeveloper <amr96 at programmer.net>
Date: Thu, 15 May 2025 21:17:56 +0200
Subject: [PATCH] [CIR] Upstream Vector support in elementTypeIfVector
---
clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
index 3c85bb4b6b41d..c3f8ad2521d1d 100644
--- a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+++ b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
@@ -54,10 +54,12 @@ namespace direct {
namespace {
/// If the given type is a vector type, return the vector's element type.
/// Otherwise return the given type unchanged.
-// TODO(cir): Return the vector element type once we have support for vectors
-// instead of the identity type.
mlir::Type elementTypeIfVector(mlir::Type type) {
- assert(!cir::MissingFeatures::vectorType());
+ if (auto vecType = mlir::dyn_cast<cir::VectorType>(type))
+ return vecType.getElementType();
+
+ if (auto vecType = mlir::dyn_cast<mlir::VectorType>(type))
+ return vecType.getElementType();
return type;
}
} // namespace
More information about the cfe-commits
mailing list