[clang] [CIR] Accept fixed-width vectors in x86_64 callconv lowering (PR #215118)

Adam Smith via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 14 08:37:04 PDT 2026


================
@@ -632,16 +702,33 @@ void CallConvLoweringPass::runOnOperation() {
   CIRABIRewriteContext rewriteCtx(moduleOp, dl);
   SymbolTable symbolTable(moduleOp);
 
-  // For the x86_64 target, build the LLVM ABI library classifier once and
-  // reuse it (and its type mapper) across every function.
+  // A per-function target attribute can raise the AVX level, so one classifier
+  // per module would misclassify a wide vector in such a function.
+  static constexpr unsigned numAvxLevels =
+      static_cast<unsigned>(llvm::abi::X86AVXABILevel::AVX512) + 1;
----------------
adams381 wrote:

Opened the followup PR as #216339.

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


More information about the cfe-commits mailing list