LLVM 20.0.0git
Public Member Functions | List of all members
llvm::sandboxir::DependencyGraph Class Reference

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

Public Member Functions

 DependencyGraph (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)
 
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 ()
 
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 306 of file DependencyGraph.h.

Constructor & Destructor Documentation

◆ DependencyGraph()

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

◆ ~DependencyGraph()

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

Member Function Documentation

◆ clear()

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

◆ dump()

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

Definition at line 578 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 425 of file DependencyGraph.h.

References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty(), and llvm::sandboxir::Interval< T >::empty().

Referenced by llvm::sandboxir::Scheduler::clear().

◆ 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 458 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().

◆ getInterval()

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

\Returns the range of instructions included in the DAG.

Definition at line 418 of file DependencyGraph.h.

Referenced by llvm::sandboxir::Scheduler::trySchedule().

◆ 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 399 of file DependencyGraph.h.

References getNode(), and I.

◆ getOrCreateNode()

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

◆ print()

void llvm::sandboxir::DependencyGraph::print ( raw_ostream OS) const

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