[llvm] 30af6fb - [VPlan] Group together helpers for retrieving various VPBlocks (NFCI).
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 25 13:23:56 PST 2024
Author: Florian Hahn
Date: 2024-11-25T21:22:45Z
New Revision: 30af6fb163add17a6be515200881afdff91d213a
URL: https://github.com/llvm/llvm-project/commit/30af6fb163add17a6be515200881afdff91d213a
DIFF: https://github.com/llvm/llvm-project/commit/30af6fb163add17a6be515200881afdff91d213a.diff
LOG: [VPlan] Group together helpers for retrieving various VPBlocks (NFCI).
Group together functions to retrieve various blocks of a VPlan, as
suggested in https://github.com/llvm/llvm-project/pull/114292.
Added:
Modified:
llvm/lib/Transforms/Vectorize/VPlan.h
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h
index 984fe0a799660f..1b1630ebc6c23a 100644
--- a/llvm/lib/Transforms/Vectorize/VPlan.h
+++ b/llvm/lib/Transforms/Vectorize/VPlan.h
@@ -3825,12 +3825,17 @@ class VPlan {
VPBasicBlock *getEntry() { return Entry; }
const VPBasicBlock *getEntry() const { return Entry; }
- /// Return the VPIRBasicBlock wrapping the header of the scalar loop.
- VPIRBasicBlock *getScalarHeader() const { return ScalarHeader; }
+ /// Returns the preheader of the vector loop region.
+ VPBasicBlock *getVectorPreheader() {
+ return cast<VPBasicBlock>(getVectorLoopRegion()->getSinglePredecessor());
+ }
- /// Return the VPBasicBlock for the preheader of the scalar loop.
- VPBasicBlock *getScalarPreheader() const {
- return cast<VPBasicBlock>(ScalarHeader->getSinglePredecessor());
+ /// Returns the VPRegionBlock of the vector loop.
+ VPRegionBlock *getVectorLoopRegion() {
+ return cast<VPRegionBlock>(getEntry()->getSingleSuccessor());
+ }
+ const VPRegionBlock *getVectorLoopRegion() const {
+ return cast<VPRegionBlock>(getEntry()->getSingleSuccessor());
}
/// Returns the 'middle' block of the plan, that is the block that selects
@@ -3843,6 +3848,14 @@ class VPlan {
return cast<VPBasicBlock>(getVectorLoopRegion()->getSingleSuccessor());
}
+ /// Return the VPBasicBlock for the preheader of the scalar loop.
+ VPBasicBlock *getScalarPreheader() const {
+ return cast<VPBasicBlock>(ScalarHeader->getSinglePredecessor());
+ }
+
+ /// Return the VPIRBasicBlock wrapping the header of the scalar loop.
+ VPIRBasicBlock *getScalarHeader() const { return ScalarHeader; }
+
/// Return an iterator range over the VPIRBasicBlock wrapping the exit blocks
/// of the VPlan, that is leaf nodes except the scalar header. Defined in
/// VPlanHCFG, as the definition of the type needs access to the definitions
@@ -3953,19 +3966,6 @@ class VPlan {
LLVM_DUMP_METHOD void dump() const;
#endif
- /// Returns the VPRegionBlock of the vector loop.
- VPRegionBlock *getVectorLoopRegion() {
- return cast<VPRegionBlock>(getEntry()->getSingleSuccessor());
- }
- const VPRegionBlock *getVectorLoopRegion() const {
- return cast<VPRegionBlock>(getEntry()->getSingleSuccessor());
- }
-
- /// Returns the preheader of the vector loop region.
- VPBasicBlock *getVectorPreheader() {
- return cast<VPBasicBlock>(getVectorLoopRegion()->getSinglePredecessor());
- }
-
/// Returns the canonical induction recipe of the vector loop.
VPCanonicalIVPHIRecipe *getCanonicalIV() {
VPBasicBlock *EntryVPBB = getVectorLoopRegion()->getEntryBasicBlock();
More information about the llvm-commits
mailing list