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

A DependencyGraph Node that points to an Instruction and contains memory dependency edges. More...

#include "[llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h](DependencyGraph%5F8h%5Fsource.html)"

Public Member Functions
DGNode (Instruction *I)
DGNode (const DGNode &Other)=delete
virtual ~DGNode ()
unsigned getNumUnscheduledSuccs () const
\Returns the number of unscheduled successors.
void decrUnscheduledSuccs ()
void incrUnscheduledSuccs ()
void resetScheduleState ()
bool ready () const
\Returns true if all dependent successors have been scheduled.
bool scheduled () const
\Returns true if this node has been scheduled.
void setScheduled (bool NewVal)
SchedBundle * getSchedBundle () const
\Returns the scheduling bundle that this node belongs to, or nullptr.
bool comesBefore (const DGNode *Other)
\Returns true if this is before Other in program order.
virtual iterator preds_begin (DependencyGraph &DAG)
virtual iterator preds_end (DependencyGraph &DAG)
iterator preds_begin (DependencyGraph &DAG) const
iterator preds_end (DependencyGraph &DAG) const
iterator_range< iterator > preds (DependencyGraph &DAG) const
\Returns a range of DAG predecessors nodes.
Instruction * getInstruction () const
virtual void print (raw_ostream &OS, bool PrintDeps=true) const
LLVM_DUMP_METHOD void dump () const
Static Public Member Functions
static bool isStackSaveOrRestoreIntrinsic (Instruction *I)
static bool isMemIntrinsic (IntrinsicInst *I)
\Returns true if intrinsic I touches memory.
static bool isMemDepCandidate (Instruction *I)
We consider I as a Memory Dependency Candidate instruction if it reads/write memory or if it has side-effects.
static bool isFenceLike (Instruction *I)
\Returns true if I is fence like. It excludes non-mem intrinsics.
static bool isMemDepNodeCandidate (Instruction *I)
\Returns true if I is a memory dependency candidate instruction.
Protected Attributes
Instruction * I
DGNodeID SubclassID
For isa/dyn_cast etc.
unsigned UnscheduledSuccs = 0
The number of unscheduled successors.
bool Scheduled = false
This is true if this node has been scheduled.
SchedBundle * SB = nullptr
The scheduler bundle that this node belongs to.

A DependencyGraph Node that points to an Instruction and contains memory dependency edges.

Definition at line 95 of file DependencyGraph.h.

iterator

DGNode() [1/3]

DGNode() [2/3]

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

DGNode() [3/3]

llvm::sandboxir::DGNode::DGNode ( const DGNode & Other) delete
llvm::sandboxir::DGNode::~DGNode ( ) virtual

clearSchedBundle()

void llvm::sandboxir::DGNode::clearSchedBundle ( ) inlineprotected

comesBefore()

decrUnscheduledSuccs()

void llvm::sandboxir::DGNode::decrUnscheduledSuccs ( ) inline

dump()

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

getInstruction()

Instruction * llvm::sandboxir::DGNode::getInstruction ( ) const inline

getNumUnscheduledSuccs()

unsigned llvm::sandboxir::DGNode::getNumUnscheduledSuccs ( ) const inline

getSchedBundle()

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

incrUnscheduledSuccs()

void llvm::sandboxir::DGNode::incrUnscheduledSuccs ( ) inline

isFenceLike()

isMemDepCandidate()

bool llvm::sandboxir::DGNode::isMemDepCandidate ( Instruction * I) inlinestatic

isMemDepNodeCandidate()

bool llvm::sandboxir::DGNode::isMemDepNodeCandidate ( Instruction * I) inlinestatic

isMemIntrinsic()

isStackSaveOrRestoreIntrinsic()

bool llvm::sandboxir::DGNode::isStackSaveOrRestoreIntrinsic ( Instruction * I) inlinestatic

preds()

preds_begin() [1/2]

virtual iterator llvm::sandboxir::DGNode::preds_begin ( DependencyGraph & DAG) inlinevirtual

preds_begin() [2/2]

preds_end() [1/2]

virtual iterator llvm::sandboxir::DGNode::preds_end ( DependencyGraph & DAG) inlinevirtual

preds_end() [2/2]

print()

void llvm::sandboxir::DGNode::print ( raw_ostream & OS, bool PrintDeps = true ) const virtual

ready()

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

resetScheduleState()

void llvm::sandboxir::DGNode::resetScheduleState ( ) inline

scheduled()

bool llvm::sandboxir::DGNode::scheduled ( ) const inline

setSchedBundle()

void llvm::sandboxir::DGNode::setSchedBundle ( SchedBundle & SB) protected

setScheduled()

void llvm::sandboxir::DGNode::setScheduled ( bool NewVal) inline

DependencyGraph

MemDGNode

operator<<

SchedBundle

I

Definition at line 97 of file DependencyGraph.h.

Referenced by comesBefore(), DGNode(), DGNode(), getInstruction(), isFenceLike(), isMemDepCandidate(), isMemDepNodeCandidate(), isMemIntrinsic(), isStackSaveOrRestoreIntrinsic(), llvm::sandboxir::MemDGNode::MemDGNode(), preds_begin(), llvm::sandboxir::MemDGNode::preds_begin(), preds_end(), llvm::sandboxir::MemDGNode::preds_end(), and print().

SB

Scheduled

bool llvm::sandboxir::DGNode::Scheduled = false protected

SubclassID

DGNodeID llvm::sandboxir::DGNode::SubclassID protected

UnscheduledSuccs

unsigned llvm::sandboxir::DGNode::UnscheduledSuccs = 0 protected

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