[all-commits] [llvm/llvm-project] f05f4f: [VPlan] Model epilogue skeleton in VPlan by wrappi...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Sep 22 11:18:25 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f05f4f34e5cb107e17672ad806f18d031ab74caf
      https://github.com/llvm/llvm-project/commit/f05f4f34e5cb107e17672ad806f18d031ab74caf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll

  Log Message:
  -----------
  [VPlan] Model epilogue skeleton in VPlan by wrapping in VPIRBBs (NFCI). (#222312)

Replace most of connectEpilogueVectorLoop by modeling the CFG explicitly
in the epilogue VPlan, by importing the CFG for the skeleton created
after executing the main loop.

To do so, update the main loop's plan to replace its VPBasicBlocks with
VPIRBasicBlocks wrapping the generated IR blocks. This allows accessing
the CFG for the VPlan, after execute.

A new modelGeneratedMainLoopBlocks transform then duplicates the CFG
from the main plan in the epilogue plan. This includes all runtime
checks and bypass blocks. This means we no longer need a number of
manual patching up of the IR and DT to connect main and epilogue plans
after execute.

It is another step getting us slightly closer to completely modeling
epilogue vectorization natively in VPlan.

Along the way, it will also help to simplify code needed to perform
folds on the epilogue skeleton (i.e. simplify 
https://github.com/llvm/llvm-project/pull/204243).

PR: https://github.com/llvm/llvm-project/pull/222312



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