LLVM: llvm::sandboxir::SeedContainer::iterator Class Reference (original) (raw)

#include "[llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h](SeedCollector%5F8h%5Fsource.html)"

Public Types
using difference_type = std::ptrdiff_t
using value_type = SeedBundle
using pointer = value_type *
using reference = value_type &
using iterator_category = std::input_iterator_tag
Public Member Functions
iterator (BundleMapT &Map, BundleMapT::iterator MapIt, ValT *Vec, int VecIdx)
Iterates over the Map of SeedBundle Vectors, starting at MapIt, and Vec at VecIdx, skipping vectors that are completely used.
value_type & operator* ()
void skipUsed ()
iterator & operator++ ()
iterator operator++ (int)
bool operator== (const iterator &Other) const
bool operator!= (const iterator &Other) const

Definition at line 200 of file SeedCollector.h.

difference_type

using llvm::sandboxir::SeedContainer::iterator::difference_type = std::ptrdiff_t

iterator_category

using llvm::sandboxir::SeedContainer::iterator::iterator_category = std::input_iterator_tag

pointer

using llvm::sandboxir::SeedContainer::iterator::pointer = value_type *

using llvm::sandboxir::SeedContainer::iterator::reference = value_type &

value_type

using llvm::sandboxir::SeedContainer::iterator::value_type = SeedBundle

iterator()

Iterates over the Map of SeedBundle Vectors, starting at MapIt, and Vec at VecIdx, skipping vectors that are completely used.

Iteration order over the keys {Pointer, Type, Opcode} follows DenseMap iteration order. For a given key, the vectors of SeedBundles will be returned in insertion order. As in the pseudo code below:

for Key,Value in Bundles for SeedBundleVector in Value for SeedBundle in SeedBundleVector if !SeedBundle.allUsed() ...

Note that the bundles themselves may have additional ordering, created by the subclasses by insertAt. The bundles themselves may also have used instructions.

Definition at line 232 of file SeedCollector.h.

Referenced by operator!=(), operator++(), operator++(), and operator==().

operator!=()

bool llvm::sandboxir::SeedContainer::iterator::operator!= ( const iterator & Other) const inline

operator*()

value_type & llvm::sandboxir::SeedContainer::iterator::operator* ( ) inline

operator++() [1/2]

iterator & llvm::sandboxir::SeedContainer::iterator::operator++ ( ) inline

operator++() [2/2]

iterator llvm::sandboxir::SeedContainer::iterator::operator++ ( int ) inline

operator==()

bool llvm::sandboxir::SeedContainer::iterator::operator== ( const iterator & Other) const inline

skipUsed()

void llvm::sandboxir::SeedContainer::iterator::skipUsed ( ) inline

The documentation for this class was generated from the following file: