LLVM: llvm::sandboxir::SchedBundle Class Reference (original) (raw)

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](Transforms%5F2Vectorize%5F2SandboxVectorizer%5F2Scheduler%5F8h%5Fsource.html)"

Public Member Functions
SchedBundle ()=default
SchedBundle (ContainerTy &&Nodes)
SchedBundle (const SchedBundle &Other)=delete
Copy CTOR (unimplemented).
SchedBundle & operator= (const SchedBundle &Other)=delete
Copy Assignment (unimplemented).
~SchedBundle ()
bool empty () const
bool isSingleton () const
Singleton bundles are created when scheduling instructions temporarily to fill in the schedule until we schedule the vector bundle.
DGNode * back () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
LLVM_ABI DGNode * getTop () const
\Returns the bundle node that comes before the others in program order.
LLVM_ABI DGNode * getBot () const
\Returns the bundle node that comes after the others in program order.
LLVM_ABI void cluster (BasicBlock::iterator Where)
Move all bundle instructions to Where back-to-back.
bool ready () const
\Returns true if all nodes in the bundle are ready.
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 108 of file Scheduler.h.

const_iterator

ContainerTy

iterator

llvm::sandboxir::SchedBundle::SchedBundle ( ) default

Referenced by DGNode::setSchedBundle, operator=(), and SchedBundle().

SchedBundle() [2/3]

llvm::sandboxir::SchedBundle::SchedBundle ( ContainerTy && Nodes) inline

SchedBundle() [3/3]

~SchedBundle()

llvm::sandboxir::SchedBundle::~SchedBundle ( ) inline

back()

DGNode * llvm::sandboxir::SchedBundle::back ( ) const inline

begin() [1/2]

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

begin() [2/2]

const_iterator llvm::sandboxir::SchedBundle::begin ( ) const inline

cluster()

Move all bundle instructions to Where back-to-back.

Definition at line 33 of file Scheduler.cpp.

References I, and N.

dump() [1/2]

void llvm::sandboxir::SchedBundle::dump ( ) const

dump() [2/2]

void llvm::sandboxir::SchedBundle::dump ( raw_ostream & OS ) const

empty()

bool llvm::sandboxir::SchedBundle::empty ( ) const inline

end() [1/2]

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

end() [2/2]

const_iterator llvm::sandboxir::SchedBundle::end ( ) const inline

getBot()

DGNode * llvm::sandboxir::SchedBundle::getBot ( ) const

getTop()

DGNode * llvm::sandboxir::SchedBundle::getTop ( ) const

isSingleton()

bool llvm::sandboxir::SchedBundle::isSingleton ( ) const inline

Singleton bundles are created when scheduling instructions temporarily to fill in the schedule until we schedule the vector bundle.

These are non-vector bundles containing just a single instruction.

Definition at line 138 of file Scheduler.h.

operator=()

Copy Assignment (unimplemented).

References llvm::Other, and SchedBundle().

ready()

bool llvm::sandboxir::SchedBundle::ready ( ) const inline

DGNode::setSchedBundle

References SchedBundle().


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