LLVM: llvm::sandboxir::MemSeedBundle< LoadOrStoreT > Class Template Reference (original) (raw)
Specialization of SeedBundle for memory access instructions. More...
#include "[llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h](SeedCollector%5F8h%5Fsource.html)"
Inheritance diagram for llvm::sandboxir::MemSeedBundle< LoadOrStoreT >:
| Public Member Functions | |
|---|---|
| MemSeedBundle (SmallVector< Instruction * > &&SV, ScalarEvolution &SE) | |
| MemSeedBundle (LoadOrStoreT *MemI) | |
| void | insert (sandboxir::Instruction *I, ScalarEvolution &SE) override |
| Public Member Functions inherited from llvm::sandboxir::SeedBundle | |
| SeedBundle (Instruction *I) | |
| Initialize a bundle with I. | |
| SeedBundle (SmallVector< Instruction * > &&L) | |
| SeedBundle (const SeedBundle &)=delete | |
| No need to allow copies. | |
| SeedBundle & | operator= (const SeedBundle &)=delete |
| virtual | ~SeedBundle ()=default |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| Instruction * | operator[] (unsigned Idx) const |
| void | insertAt (iterator Pos, Instruction *I) |
| Insert I into position P. | |
| unsigned | getFirstUnusedElementIdx () const |
| void | setUsed (Instruction *I) |
| Marks instruction I "used" within the bundle. | |
| void | setUsed (unsigned ElementIdx, unsigned Sz=1, bool VerifyUnused=true) |
| bool | isUsed (unsigned Element) const |
| \Returns whether or not Element has been used. | |
| bool | allUsed () const |
| unsigned | getNumUnusedBits () const |
| LLVM_ABI ArrayRef< Instruction * > | getSlice (unsigned StartIdx, unsigned MaxVecRegBits, bool ForcePowOf2) |
| \Returns a slice of seed elements, starting at the element StartIdx, with a total size <= MaxVecRegBits, or an empty slice if the requirements cannot be met . | |
| std::size_t | size () const |
| \Returns the number of seed elements in the bundle. | |
| void | dump (raw_ostream &OS) const |
| LLVM_DUMP_METHOD void | dump () const |
| Additional Inherited Members | |
|---|---|
| Public Types inherited from llvm::sandboxir::SeedBundle | |
| using | iterator = SmallVector<Instruction *>::iterator |
| using | const_iterator = SmallVector<Instruction *>::const_iterator |
| Protected Attributes inherited from llvm::sandboxir::SeedBundle | |
| SmallVector< Instruction * > | Seeds |
| BitVector | UsedLanes |
| The lanes that we have already vectorized. | |
| unsigned | UsedLaneCount = 0 |
| Tracks used lanes for constant-time accessor. | |
| unsigned | NumUnusedBits = 0 |
| Tracks the remaining bits available to vectorize. |
Detailed Description
template
class llvm::sandboxir::MemSeedBundle< LoadOrStoreT >
Specialization of SeedBundle for memory access instructions.
Keeps seeds sorted in ascending memory order, which is convenient for slicing these bundles into vectorizable groups.
Definition at line 136 of file SeedCollector.h.
Constructor & Destructor Documentation
template
◆ MemSeedBundle() [2/2]
template
Member Function Documentation
◆ insert()
template
The documentation for this class was generated from the following file:
- include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h