LLVM 22.0.0git
llvm::sandboxir::SeedContainer Class Reference

Class to conveniently track Seeds within SeedBundles. More...

#include "llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h"

Classes

class  iterator

Public Types

using const_iterator = BundleMapT::const_iterator

Public Member Functions

 SeedContainer (ScalarEvolution &SE)
template<typename LoadOrStoreT>
void insert (LoadOrStoreT *LSI, bool AllowDiffTypes)
LLVM_ABI bool erase (Instruction *I)
bool erase (const KeyT &Key)
iterator begin ()
iterator end ()
unsigned size () const
void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const

Detailed Description

Class to conveniently track Seeds within SeedBundles.

Saves newly collected seeds in the proper bundle. Supports constant-time removal, as seeds and entire bundles are vectorized and marked used to signify removal. Iterators skip bundles that are completely used.

Definition at line 175 of file SeedCollector.h.

Member Typedef Documentation

◆ const_iterator

Constructor & Destructor Documentation

◆ SeedContainer()

llvm::sandboxir::SeedContainer::SeedContainer ( ScalarEvolution & SE)
inline

Definition at line 198 of file SeedCollector.h.

Member Function Documentation

◆ begin()

iterator llvm::sandboxir::SeedContainer::begin ( )
inline

Definition at line 277 of file SeedCollector.h.

References end().

◆ dump()

LLVM_DUMP_METHOD void llvm::sandboxir::SeedContainer::dump ( ) const

Definition at line 147 of file SeedCollector.cpp.

References llvm::dbgs(), LLVM_DUMP_METHOD, and print().

◆ end()

iterator llvm::sandboxir::SeedContainer::end ( )
inline

Definition at line 285 of file SeedCollector.h.

Referenced by begin().

◆ erase() [1/2]

bool llvm::sandboxir::SeedContainer::erase ( const KeyT & Key)
inline

◆ erase() [2/2]

bool llvm::sandboxir::SeedContainer::erase ( Instruction * I)

Definition at line 99 of file SeedCollector.cpp.

References assert(), I, llvm::isa(), and llvm::sandboxir::SeedBundle::setUsed().

◆ insert()

template<typename LoadOrStoreT>
template LLVM_EXPORT_TEMPLATE void llvm::sandboxir::SeedContainer::insert< StoreInst > ( LoadOrStoreT * LSI,
bool AllowDiffTypes )

Definition at line 110 of file SeedCollector.cpp.

References llvm::sandboxir::SeedBundleSizeLimit.

◆ print()

void llvm::sandboxir::SeedContainer::print ( raw_ostream & OS) const

Definition at line 131 of file SeedCollector.cpp.

References llvm::dyn_cast(), I, and Opc.

Referenced by dump().

◆ size()

unsigned llvm::sandboxir::SeedContainer::size ( ) const
inline

Definition at line 286 of file SeedCollector.h.

Referenced by llvm::sandboxir::SeedContainer::iterator::skipUsed().


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