LLVM 20.0.0git
|
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 | 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 |
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 174 of file SeedCollector.h.
Definition at line 268 of file SeedCollector.h.
|
inline |
Definition at line 196 of file SeedCollector.h.
|
inline |
Definition at line 274 of file SeedCollector.h.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::begin(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::empty(), and end().
Referenced by llvm::sandboxir::SeedCollector::getLoadSeeds(), and llvm::sandboxir::SeedCollector::getStoreSeeds().
LLVM_DUMP_METHOD void llvm::sandboxir::SeedContainer::dump | ( | ) | const |
Definition at line 139 of file SeedCollector.cpp.
References llvm::dbgs(), and print().
|
inline |
Definition at line 282 of file SeedCollector.h.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::end().
Referenced by begin(), llvm::sandboxir::SeedCollector::getLoadSeeds(), and llvm::sandboxir::SeedCollector::getStoreSeeds().
Definition at line 273 of file SeedCollector.h.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::erase().
bool llvm::sandboxir::SeedContainer::erase | ( | Instruction * | I | ) |
Definition at line 94 of file SeedCollector.cpp.
References assert(), I, and llvm::sandboxir::SeedBundle::setUsed().
Referenced by llvm::sandboxir::SeedCollector::SeedCollector().
template void llvm::sandboxir::SeedContainer::insert< StoreInst > | ( | LoadOrStoreT * | LSI | ) |
Definition at line 104 of file SeedCollector.cpp.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::back(), and llvm::sandboxir::SeedBundleSizeLimit.
Referenced by llvm::sandboxir::SeedCollector::SeedCollector().
void llvm::sandboxir::SeedContainer::print | ( | raw_ostream & | OS | ) | const |
Definition at line 123 of file SeedCollector.cpp.
Referenced by dump(), and llvm::sandboxir::SeedCollector::print().
|
inline |
Definition at line 283 of file SeedCollector.h.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::size().
Referenced by llvm::sandboxir::SeedContainer::iterator::skipUsed().