[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 Dec 4 08:38:39 PST 2024


================
@@ -9607,7 +9624,7 @@ void VPReplicateRecipe::execute(VPTransformState &State) {
             VectorType::get(UI->getType(), State.VF));
         State.set(this, Poison);
       }
-      State.packScalarIntoVectorValue(this, *State.Lane);
+      State.packScalarIntoWideValue(this, *State.Lane);
----------------
MacDue wrote:

As mentioned above, I've now updated loop LoopVectorizationLegality to only allow the case where the struct is produced by a call, and all users are extractvalue. I think this resolves the issue of dealing with structs in unsupported cases.



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


More information about the llvm-commits mailing list