[llvm] [LV][EVL] Support in-loop reduction using tail folding with EVL. (PR #90184)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 28 01:14:05 PDT 2024


================
@@ -57,7 +57,59 @@ Value *VectorBuilder::createVectorInstruction(unsigned Opcode, Type *ReturnTy,
   auto VPID = VPIntrinsic::getForOpcode(Opcode);
   if (VPID == Intrinsic::not_intrinsic)
     return returnWithError<Value *>("No VPIntrinsic for this opcode");
+  return createVectorInstructionImpl(VPID, ReturnTy, InstOpArray, Name);
+}
+
+Value *VectorBuilder::createSimpleTargetReduction(RecurKind Kind, Type *ValTy,
+                                                  ArrayRef<Value *> InstOpArray,
+                                                  const Twine &Name) {
+  auto GetForRecurKind = [](RecurKind Kind) {
----------------
Mel-Chen wrote:

64f533260fe0b9576e47b7b297a54072a4e3a1a3
And should I drop the lambda too? 

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


More information about the llvm-commits mailing list