[llvm] [LV] Add initial support for vectorizing literal struct return values (PR #109833)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 15 04:20:23 PDT 2024
MacDue wrote:
I'm looking into the multiple results now, I think it may require some amount of refactoring. The recipes likely affected all inherit from `VPRecipeWithIRFlags` which in turn inherits from `VPSingleDefRecipe`.
- VPWidenCallRecipe -> VPRecipeWithIRFlags -> VPSingleDefRecipe
- VPWidenIntrinsicRecipe -> VPRecipeWithIRFlags -> VPSingleDefRecipe
- VPReplicateRecipe -> VPRecipeWithIRFlags -> VPSingleDefRecipe
Fast math flags can also apply to struct results (see #110506). So if we go with the multiple results approach, I don't think `VPRecipeWithIRFlags` can stay a `VPSingleDefRecipe`, since even if we make new recipes for widen call/intrinsic the new
recipes would need to be some kind of `VPRecipeWithIRFlags`.
I'll see what I can prototype today :slightly_smiling_face:
https://github.com/llvm/llvm-project/pull/109833
More information about the llvm-commits
mailing list