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

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 05:49:53 PDT 2026


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

None

>From 83d2af2cda46afeb7ea9d57e94ba0ce81d5a40e9 Mon Sep 17 00:00:00 2001
From: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: Thu, 2 Apr 2026 13:45:39 +0100
Subject: [PATCH] [VPlan] Use bind_front to improve code in PhiAccessors (NFC)

---
 llvm/lib/Transforms/Vectorize/VPlan.h | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

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());
   }
 



More information about the llvm-commits mailing list