[llvm] [VPlan] Add VPPhiAccessors to provide interface for phi recipes (NFC) (PR #138472)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 6 13:28:23 PDT 2025
================
@@ -1233,26 +1233,15 @@ class VPPhiAccessors {
getAsRecipe()->op_begin() + getNumIncoming());
}
- using const_incoming_block_iterator =
- mapped_iterator<detail::index_iterator,
- std::function<const VPBasicBlock *(size_t)>>;
- using const_incoming_blocks_range =
- iterator_range<const_incoming_block_iterator>;
-
- const_incoming_block_iterator incoming_block_begin() const {
- return const_incoming_block_iterator(
- detail::index_iterator(0),
- [this](size_t Idx) { return getIncomingBlock(Idx); });
- }
- const_incoming_block_iterator incoming_block_end() const {
- return const_incoming_block_iterator(
- detail::index_iterator(getNumIncoming()),
- [this](size_t Idx) { return getIncomingBlock(Idx); });
- }
+ 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 {
- return make_range(incoming_block_begin(), incoming_block_end());
+ std::function<const VPBasicBlock *(size_t)> GetBlock = [this](size_t Idx) {
----------------
artagnon wrote:
Does this not work with llvm::function_ref?
https://github.com/llvm/llvm-project/pull/138472
More information about the llvm-commits
mailing list