[llvm] [LV] Transform to handle exits in the scalar loop (PR #148626)
David Sherwood via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 10 08:26:46 PST 2025
================
@@ -4255,6 +4255,15 @@ class VPlan {
/// VPlan is destroyed.
SmallVector<VPBlockBase *> CreatedBlocks;
+ /// The entry block in a vplan, which may be a check block that needs to
+ /// be wired up in the right place with existing check blocks.
+ VPBasicBlock *EarlyExitPreheader = nullptr;
+
+ /// Indicates that an early exit loop will exit the vector loop before an
+ /// uncountable exit condition is reached, and that the scalar loop must
+ /// perform the last few iterations.
+ bool EarlyExitContinuesInScalarLoop = false;
----------------
david-arm wrote:
Wherever possible I think we should try to avoid adding flags like this because I think the VPlan is supposed to "just work" regardless of whatever CFG or recipes you throw at it.
https://github.com/llvm/llvm-project/pull/148626
More information about the llvm-commits
mailing list