|
LLVM 22.0.0git
|
Subclass of DDGNode representing single or multi-instruction nodes. More...
#include "llvm/Analysis/DDG.h"
Public Member Functions | |
| SimpleDDGNode ()=delete | |
| SimpleDDGNode (Instruction &I) | |
| SimpleDDGNode (const SimpleDDGNode &N) | |
| SimpleDDGNode (SimpleDDGNode &&N) | |
| ~SimpleDDGNode () | |
| SimpleDDGNode & | operator= (const SimpleDDGNode &N)=default |
| SimpleDDGNode & | operator= (SimpleDDGNode &&N) |
| const InstructionListType & | getInstructions () const |
| Get the list of instructions in this node. | |
| InstructionListType & | getInstructions () |
| Instruction * | getFirstInstruction () const |
| Get the first/last instruction in the node. | |
| Instruction * | getLastInstruction () const |
| Public Member Functions inherited from llvm::DDGNode | |
| DDGNode ()=delete | |
| DDGNode (const NodeKind K) | |
| DDGNode (const DDGNode &N)=default | |
| DDGNode (DDGNode &&N) | |
| virtual | ~DDGNode ()=0 |
| DDGNode & | operator= (const DDGNode &N) |
| DDGNode & | operator= (DDGNode &&N) |
| NodeKind | getKind () const |
| Getter for the kind of this node. | |
| bool | collectInstructions (llvm::function_ref< bool(Instruction *)> const &Pred, InstructionListType &IList) const |
Collect a list of instructions, in IList, for which predicate Pred evaluates to true when iterating over instructions of this node. | |
| Public Member Functions inherited from llvm::DGNode< DDGNode, DDGEdge > | |
| DGNode (DDGEdge &E) | |
Create a node with a single outgoing edge E. | |
| DGNode ()=default | |
| DGNode (const DGNode< DDGNode, DDGEdge > &N) | |
| DGNode (DGNode< DDGNode, DDGEdge > &&N) | |
| DGNode< DDGNode, DDGEdge > & | operator= (const DGNode< DDGNode, DDGEdge > &N) |
| DGNode< DDGNode, DDGEdge > & | operator= (const DGNode< DDGNode, DDGEdge > &&N) |
| const_iterator | begin () const |
| const_iterator | end () const |
| iterator | begin () |
| iterator | end () |
| const DDGEdge & | front () const |
| DDGEdge & | front () |
| const DDGEdge & | back () const |
| DDGEdge & | back () |
| bool | findEdgesTo (const DDGNode &N, SmallVectorImpl< DDGEdge * > &EL) const |
Collect in EL, all the edges from this node to N. | |
| bool | addEdge (DDGEdge &E) |
Add the given edge E to this node, if it doesn't exist already. | |
| void | removeEdge (DDGEdge &E) |
Remove the given edge E from this node, if it exists. | |
| bool | hasEdgeTo (const DDGNode &N) const |
Test whether there is an edge that goes from this node to N. | |
| const EdgeListTy & | getEdges () const |
| Retrieve the outgoing edges for the node. | |
| EdgeListTy & | getEdges () |
| void | clear () |
| Clear the outgoing edges. | |
Static Public Member Functions | |
| static bool | classof (const DDGNode *N) |
| Define classof to be able to use isa<>, cast<>, dyn_cast<>, etc. | |
| static bool | classof (const SimpleDDGNode *N) |
Friends | |
| class | DDGBuilder |
Additional Inherited Members | |
| Public Types inherited from llvm::DDGNode | |
| enum class | NodeKind { Unknown , SingleInstruction , MultiInstruction , PiBlock , Root } |
| using | InstructionListType = SmallVectorImpl<Instruction *> |
| Public Types inherited from llvm::DGNode< DDGNode, DDGEdge > | |
| using | EdgeListTy |
| using | iterator |
| using | const_iterator |
| Protected Member Functions inherited from llvm::DDGNode | |
| void | setKind (NodeKind K) |
| Setter for the kind of this node. | |
| Protected Member Functions inherited from llvm::DGNode< DDGNode, DDGEdge > | |
| bool | isEqualTo (const DDGNode &N) const |
| DDGNode & | getDerived () |
| const DDGNode & | getDerived () const |
| const_iterator | findEdgeTo (const DDGNode &N) const |
Find an edge to N. | |
| Protected Attributes inherited from llvm::DGNode< DDGNode, DDGEdge > | |
| EdgeListTy | Edges |
Subclass of DDGNode representing single or multi-instruction nodes.
|
delete |
References I, N, and SimpleDDGNode().
Referenced by classof(), getInstructions(), operator=(), operator=(), SimpleDDGNode(), SimpleDDGNode(), and SimpleDDGNode().
| SimpleDDGNode::SimpleDDGNode | ( | Instruction & | I | ) |
Definition at line 107 of file DDG.cpp.
References assert(), llvm::DDGNode::DDGNode(), I, and llvm::DDGNode::SingleInstruction.
| SimpleDDGNode::SimpleDDGNode | ( | const SimpleDDGNode & | N | ) |
Definition at line 113 of file DDG.cpp.
References assert(), llvm::DDGNode::DDGNode(), llvm::DDGNode::getKind(), llvm::DDGNode::MultiInstruction, N, SimpleDDGNode(), and llvm::DDGNode::SingleInstruction.
| SimpleDDGNode::SimpleDDGNode | ( | SimpleDDGNode && | N | ) |
Definition at line 120 of file DDG.cpp.
References assert(), llvm::DDGNode::DDGNode(), llvm::DDGNode::getKind(), llvm::move(), llvm::DDGNode::MultiInstruction, N, SimpleDDGNode(), and llvm::DDGNode::SingleInstruction.
Define classof to be able to use isa<>, cast<>, dyn_cast<>, etc.
Definition at line 142 of file DDG.h.
References llvm::DDGNode::DDGNode(), llvm::DDGNode::MultiInstruction, N, and llvm::DDGNode::SingleInstruction.
|
inlinestatic |
Definition at line 146 of file DDG.h.
References N, and SimpleDDGNode().
|
inline |
Get the first/last instruction in the node.
Definition at line 138 of file DDG.h.
References getInstructions().
|
inline |
Definition at line 132 of file DDG.h.
References SimpleDDGNode().
|
inline |
Get the list of instructions in this node.
Definition at line 128 of file DDG.h.
References assert().
Referenced by getFirstInstruction(), and getLastInstruction().
|
inline |
Definition at line 139 of file DDG.h.
References getInstructions().
|
default |
References N, and SimpleDDGNode().
|
inline |
Definition at line 121 of file DDG.h.
References N, llvm::DDGNode::operator=(), and SimpleDDGNode().
|
friend |