LLVM 20.0.0git
|
#include "llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h"
Public Member Functions | |
DependencyGraph (AAResults &AA, Context &Ctx) | |
This constructor also registers callbacks. | |
~DependencyGraph () | |
DGNode * | getNode (Instruction *I) const |
DGNode * | getNodeOrNull (Instruction *I) const |
Like getNode() but returns nullptr if I is nullptr. | |
DGNode * | getOrCreateNode (Instruction *I) |
Interval< Instruction > | extend (ArrayRef< Instruction * > Instrs) |
Build/extend the dependency graph such that it includes Instrs . | |
Interval< Instruction > | getInterval () const |
\Returns the range of instructions included in the DAG. | |
void | clear () |
void | print (raw_ostream &OS) const |
LLVM_DUMP_METHOD void | dump () const |
Definition at line 295 of file DependencyGraph.h.
This constructor also registers callbacks.
Definition at line 361 of file DependencyGraph.h.
References I, llvm::sandboxir::Context::registerCreateInstrCallback(), llvm::sandboxir::Context::registerEraseInstrCallback(), and llvm::sandboxir::Context::registerMoveInstrCallback().
|
inline |
Definition at line 372 of file DependencyGraph.h.
References llvm::sandboxir::Context::unregisterCreateInstrCallback(), llvm::sandboxir::Context::unregisterEraseInstrCallback(), and llvm::sandboxir::Context::unregisterMoveInstrCallback().
|
inline |
Definition at line 406 of file DependencyGraph.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear().
void llvm::sandboxir::DependencyGraph::dump | ( | ) | const |
Definition at line 555 of file DependencyGraph.cpp.
References llvm::dbgs(), and print().
Interval< Instruction > llvm::sandboxir::DependencyGraph::extend | ( | ArrayRef< Instruction * > | Instrs | ) |
Build/extend the dependency graph such that it includes Instrs
.
Returns the range of instructions added to the DAG.
Definition at line 435 of file DependencyGraph.cpp.
References assert(), llvm::drop_begin(), llvm::ArrayRef< T >::empty(), llvm_unreachable, and llvm::sandboxir::MemDGNodeIntervalBuilder::make().
Referenced by llvm::sandboxir::Scheduler::trySchedule().
|
inline |
\Returns the range of instructions included in the DAG.
Definition at line 405 of file DependencyGraph.h.
|
inline |
Definition at line 381 of file DependencyGraph.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Referenced by llvm::sandboxir::MemDGNodeIntervalBuilder::getBotMemDGNode(), getNodeOrNull(), llvm::sandboxir::MemDGNodeIntervalBuilder::getTopMemDGNode(), llvm::sandboxir::PredIterator::operator*(), and llvm::sandboxir::Scheduler::trySchedule().
|
inline |
Like getNode() but returns nullptr if I
is nullptr.
Definition at line 386 of file DependencyGraph.h.
|
inline |
Definition at line 391 of file DependencyGraph.h.
References I, llvm::sandboxir::DGNode::isMemDepNodeCandidate(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace().
void llvm::sandboxir::DependencyGraph::print | ( | raw_ostream & | OS | ) | const |
Definition at line 541 of file DependencyGraph.cpp.
References llvm::sandboxir::DGNode::getInstruction(), N, OS, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::sort().
Referenced by dump().