[llvm] [LV] Add initial support for vectorizing literal struct return values (PR #109833)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 15 05:27:24 PST 2025
================
@@ -335,10 +335,10 @@ Value *VPTransformState::get(VPValue *Def, bool NeedsScalar) {
} else {
// Initialize packing with insertelements to start from undef.
assert(!VF.isScalable() && "VF is assumed to be non scalable.");
- Value *Undef = PoisonValue::get(VectorType::get(LastInst->getType(), VF));
+ Value *Undef = PoisonValue::get(toVectorizedTy(LastInst->getType(), VF));
----------------
MacDue wrote:
I don't think spilling those out would make sense. Within this patch, all of these changes are needed for the core functionality to work (switching the call does change behavior). If I landed these as an NFC, it makes it less obvious that these are required changes for the struct vectorization.
https://github.com/llvm/llvm-project/pull/109833
More information about the llvm-commits
mailing list