joechrisellis marked an inline comment as done. joechrisellis added inline comments.
================ Comment at: clang/lib/CodeGen/CGCall.cpp:2671-2673 + // See if this is a VLST coerced to a VLAT at the function boundary and + // the types match up. If so, use llvm.experimental.vector.extract to + // perform the conversion. ---------------- c-rhodes wrote: > this is slightly confusing since the coercion done in TargetInfo is from > fixed -> scalable so VLSTs are represented as scalable vectors in functions > args/return, yet this is casting back to fixed in the function prolog using > `llvm.experimental.vector.extract` like you mention in the commit message, > could this comment clarify that? I am a bit unsure what you mean in this comment, but I have tried to reword the comment to be a bit clearer about what's happening. Let me know if you still think it needs clarifying. 😄 ================ Comment at: clang/lib/CodeGen/CGCall.cpp:2674 + // perform the conversion. + if (Ty->getAs<VectorType>()) { + auto *Coerced = Fn->getArg(FirstIRArg); ---------------- c-rhodes wrote: > Do we want to check `VT->getVectorKind() == > VectorType::SveFixedLengthDataVector` and > `isa<llvm::ScalableVectorType>(Coerced->getType());`? Do we not also want to account for predicate vectors here? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92762/new/ https://reviews.llvm.org/D92762 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits