Skip to content
Merged
Changes from 2 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
b357af4
[VPlan] Add VPPhiAccessors to provide interface for phi recipes (NFC)
fhahn Feb 27, 2025
9113022
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn Mar 13, 2025
c61233f
!fixup address latest comments, thanks
fhahn Mar 13, 2025
a73a137
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn Apr 23, 2025
90b2d4d
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn Apr 26, 2025
f768b97
!fixup address latest comments, thanks
fhahn Apr 26, 2025
d6d6bb5
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn Apr 28, 2025
8dfd569
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn May 1, 2025
595b057
!fixup address latest comments, thanks
fhahn May 1, 2025
a2b4ebb
Merge remote-tracking branch 'origin/main' into vplan-phi-accessors
fhahn May 3, 2025
46780ab
!fixup address comments, make getAsRecipe pure virtual.
fhahn May 3, 2025
5fee077
Use virtual
fhahn May 2, 2025
450901e
Merge remote-tracking branch 'origin/main' into vplan-verify-def-use-phi
fhahn May 4, 2025
996af30
[VPlan] Add VPPhiAccessors::incoming_values_and_blocks (NFC).
fhahn May 2, 2025
904998b
Merge remote-tracking branch 'origin/main' into vplan-phi-iterators
fhahn May 26, 2025
bcd9064
!fixup after merge
fhahn May 26, 2025
7291b0e
Merge remote-tracking branch 'origin/main' into vplan-phi-iterators
fhahn May 26, 2025
2c318e6
Merge remote-tracking branch 'origin/main' into vplan-phi-iterators
fhahn Aug 1, 2025
260e727
!fixup use in VPlanPredicator.
fhahn Aug 1, 2025
fc8cf8b
Merge remote-tracking branch 'origin/main' into vplan-phi-iterators
fhahn Aug 6, 2025
4b705f8
!fixup use map_range with index_range
fhahn Aug 6, 2025
14a6b44
Merge branch 'main' into vplan-phi-iterators
fhahn Aug 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 6 additions & 17 deletions llvm/lib/Transforms/Vectorize/VPlan.h
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
return getIncomingBlock(Idx);
};
return map_range(index_range(0, getNumIncoming()), GetBlock);
}

/// Returns an iterator range over pairs of incoming values and corresponding
Expand Down