[llvm] [LV] Add initial support for vectorizing literal struct return values (PR #109833)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 10 07:52:22 PDT 2024
================
@@ -1277,6 +1277,13 @@ void VPWidenRecipe::execute(VPTransformState &State) {
State.addMetadata(V, dyn_cast_or_null<Instruction>(getUnderlyingValue()));
break;
}
+ case Instruction::ExtractValue: {
+ Value *Op = State.get(getOperand(0));
+ Value *Extract = Builder.CreateExtractValue(
+ Op, cast<ExtractValueInst>(getUnderlyingValue())->getIndices());
----------------
MacDue wrote:
The operand of the recipe is the return value of the call (the struct), to build the widened extract I need the original extract indices, and I'm not sure how else to access them.
https://github.com/llvm/llvm-project/pull/109833
More information about the llvm-commits
mailing list