[llvm] [VPlan] Use bind_front to improve code in PhiAccessors (NFC) (PR #190167)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 05:50:33 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-transforms

Author: Ramkumar Ramachandra (artagnon)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/190167.diff


1 Files Affected:

- (modified) llvm/lib/Transforms/Vectorize/VPlan.h (+4-11) 


``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h
index ab47d927942db..36c490e669451 100644
--- a/llvm/lib/Transforms/Vectorize/VPlan.h
+++ b/llvm/lib/Transforms/Vectorize/VPlan.h
@@ -1615,22 +1615,15 @@ class VPPhiAccessors {
                       getAsRecipe()->op_begin() + getNumIncoming());
   }
 
-  using const_incoming_blocks_range = iterator_range<mapped_iterator<
-      detail::index_iterator, std::function<const VPBasicBlock *(size_t)>>>;
-
   /// Returns an iterator range over the incoming blocks.
-  const_incoming_blocks_range incoming_blocks() const {
-    std::function<const VPBasicBlock *(size_t)> GetBlock = [this](size_t Idx) {
-      return getIncomingBlock(Idx);
-    };
-    return map_range(index_range(0, getNumIncoming()), GetBlock);
+  auto incoming_blocks() const {
+    return map_range(index_range(0, getNumIncoming()),
+                     bind_front(&VPPhiAccessors::getIncomingBlock, this));
   }
 
   /// Returns an iterator range over pairs of incoming values and corresponding
   /// incoming blocks.
-  detail::zippy<llvm::detail::zip_first, VPUser::const_operand_range,
-                const_incoming_blocks_range>
-  incoming_values_and_blocks() const {
+  auto incoming_values_and_blocks() const {
     return zip_equal(incoming_values(), incoming_blocks());
   }
 

``````````

</details>


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


More information about the llvm-commits mailing list