[all-commits] [llvm/llvm-project] ddfeec: [VPlan] Convert to concrete recipes before dissolv...

Luke Lau via All-commits all-commits at lists.llvm.org
Tue Jun 3 04:05:35 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ddfeecf4c588d525bad3a7e19601d714fd708363
      https://github.com/llvm/llvm-project/commit/ddfeecf4c588d525bad3a7e19601d714fd708363
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-06-03 (Tue, 03 Jun 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [VPlan] Convert to concrete recipes before dissolving loop regions. NFCI (#141999)

After updating #118638 on tip of tree, expanding
VPWidenIntOrFpInductionRecipes fails because it needs the loop region to
get the latch to insert the increment into:

VPBasicBlock *ExitingBB =
Plan->getVectorLoopRegion()->getExitingBasicBlock();
Builder.setInsertPoint(ExitingBB,
ExitingBB->getTerminator()->getIterator());
    auto *Next = Builder.createNaryOp(AddOp, {Prev, Inc}, Flags,
WidenIVR->getDebugLoc(), "vec.ind.next");

However after #117506, the region is dissolved so it doesn't work.

This shuffles the dissolveLoopRegions steps to be after
convertToConcreteRecipes so we can use the region when expanding
VPWidenIntOrFpInductionRecipes



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list