LLVM 20.0.0git
|
The nodes that need to be scheduled back-to-back in a single scheduling cycle form a SchedBundle. More...
#include "llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h"
Public Types | |
using | ContainerTy = SmallVector< DGNode *, 4 > |
using | iterator = ContainerTy::iterator |
using | const_iterator = ContainerTy::const_iterator |
Public Member Functions | |
SchedBundle ()=default | |
SchedBundle (ContainerTy &&Nodes) | |
~SchedBundle () | |
bool | empty () const |
DGNode * | back () const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
DGNode * | getTop () const |
\Returns the bundle node that comes before the others in program order. | |
DGNode * | getBot () const |
\Returns the bundle node that comes after the others in program order. | |
void | cluster (BasicBlock::iterator Where) |
Move all bundle instructions to Where back-to-back. | |
void | dump (raw_ostream &OS) const |
LLVM_DUMP_METHOD void | dump () const |
The nodes that need to be scheduled back-to-back in a single scheduling cycle form a SchedBundle.
Definition at line 65 of file Scheduler.h.
Definition at line 89 of file Scheduler.h.
using llvm::sandboxir::SchedBundle::ContainerTy = SmallVector<DGNode *, 4> |
Definition at line 67 of file Scheduler.h.
Definition at line 88 of file Scheduler.h.
|
default |
|
inline |
Definition at line 78 of file Scheduler.h.
References N.
|
inline |
Definition at line 82 of file Scheduler.h.
References N.
|
inline |
Definition at line 87 of file Scheduler.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back().
|
inline |
Definition at line 90 of file Scheduler.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
|
inline |
Definition at line 92 of file Scheduler.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
void llvm::sandboxir::SchedBundle::cluster | ( | BasicBlock::iterator | Where | ) |
Move all bundle instructions to Where
back-to-back.
Definition at line 33 of file Scheduler.cpp.
References llvm::sandboxir::BBIterator::getNodeParent(), I, and N.
void llvm::sandboxir::SchedBundle::dump | ( | ) | const |
Definition at line 48 of file Scheduler.cpp.
References llvm::dbgs(), and dump().
Referenced by dump().
void llvm::sandboxir::SchedBundle::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 43 of file Scheduler.cpp.
|
inline |
Definition at line 86 of file Scheduler.h.
References llvm::SmallVectorBase< Size_T >::empty().
|
inline |
Definition at line 91 of file Scheduler.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
|
inline |
Definition at line 93 of file Scheduler.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
DGNode * llvm::sandboxir::SchedBundle::getBot | ( | ) | const |
\Returns the bundle node that comes after the others in program order.
Definition at line 24 of file Scheduler.cpp.
References llvm::sandboxir::Instruction::comesBefore(), llvm::drop_begin(), llvm::SmallVectorTemplateCommon< T, typename >::front(), llvm::sandboxir::DGNode::getInstruction(), and N.
DGNode * llvm::sandboxir::SchedBundle::getTop | ( | ) | const |
\Returns the bundle node that comes before the others in program order.
Definition at line 15 of file Scheduler.cpp.
References llvm::drop_begin(), llvm::SmallVectorTemplateCommon< T, typename >::front(), llvm::sandboxir::DGNode::getInstruction(), and N.