LLVM 24.0.0git
llvm::sandboxir::DependencyGraph Class Reference

#include "llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h"

Public Member Functions

 DependencyGraph (SchedDirection Dir, AAResults &AA, Context &Ctx)
 This constructor also registers callbacks.
 ~DependencyGraph ()
DGNodegetNode (Instruction *I) const
DGNodegetNodeOrNull (Instruction *I) const
 Like getNode() but returns nullptr if I is nullptr.
DGNodegetOrCreateNode (Instruction *I)
LLVM_ABI Interval< Instructionextend (ArrayRef< Instruction * > Instrs)
 Build/extend the dependency graph such that it includes Instrs.
Interval< InstructiongetInterval () const
 \Returns the range of instructions included in the DAG.
void clear ()
std::optional< Context::CallbackIDgetEraseInstrCB () const
bool empty () const
 \Returns true if the DAG's state is clear. Used in assertions.
void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const

Detailed Description

Definition at line 445 of file DependencyGraph.h.

Constructor & Destructor Documentation

◆ DependencyGraph()

llvm::sandboxir::DependencyGraph::DependencyGraph ( SchedDirection Dir,
AAResults & AA,
Context & Ctx )
inline

This constructor also registers callbacks.

Definition at line 518 of file DependencyGraph.h.

References I.

◆ ~DependencyGraph()

llvm::sandboxir::DependencyGraph::~DependencyGraph ( )
inline

Definition at line 531 of file DependencyGraph.h.

Member Function Documentation

◆ clear()

void llvm::sandboxir::DependencyGraph::clear ( )
inline

Definition at line 567 of file DependencyGraph.h.

◆ dump()

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

Definition at line 772 of file DependencyGraph.cpp.

References llvm::dbgs(), and print().

◆ empty()

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

\Returns true if the DAG's state is clear. Used in assertions.

Definition at line 576 of file DependencyGraph.h.

References assert().

◆ extend()

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 653 of file DependencyGraph.cpp.

References llvm::drop_begin(), llvm::ArrayRef< T >::empty(), llvm::sandboxir::Interval< MemDGNode >, llvm_unreachable, and llvm::sandboxir::MemDGNodeIntervalBuilder::make().

◆ getEraseInstrCB()

std::optional< Context::CallbackID > llvm::sandboxir::DependencyGraph::getEraseInstrCB ( ) const
inline

Definition at line 571 of file DependencyGraph.h.

◆ getInterval()

Interval< Instruction > llvm::sandboxir::DependencyGraph::getInterval ( ) const
inline

\Returns the range of instructions included in the DAG.

Definition at line 566 of file DependencyGraph.h.

◆ getNode()

DGNode * llvm::sandboxir::DependencyGraph::getNode ( Instruction * I) const
inline

◆ getNodeOrNull()

DGNode * llvm::sandboxir::DependencyGraph::getNodeOrNull ( Instruction * I) const
inline

Like getNode() but returns nullptr if I is nullptr.

Definition at line 547 of file DependencyGraph.h.

References getNode(), and I.

◆ getOrCreateNode()

DGNode * llvm::sandboxir::DependencyGraph::getOrCreateNode ( Instruction * I)
inline

Definition at line 552 of file DependencyGraph.h.

References I, and llvm::sandboxir::DGNode::isMemDepNodeCandidate().

◆ print()


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