Traits for traversing a graph type without copying it.
Declared in <llvm/ADT/GraphTraits.h>
template<class GraphType>
struct GraphTraits;
Specialize for each graph (CFG, DomTree, …). The primary template is empty except for a deliberate incomplete NodeRef that fails compilation when no specialization is visible. May reinterpret the graph via richer NodeRef values (see LoopBodyTraits).
| Name | Description |
|---|---|
NodeRef | Placeholder that fails compilation unless GraphTraits is specialized. |
| Name | Description |
|---|---|
GraphTraits<ValueInfo> | GraphTraits specialization so ValueInfo can be used as a call-graph node. |
GraphTraits<FlatIt<MachineRegion*>> | GraphTraits specialization for flat iteration of MachineRegion graphs. |
GraphTraits<FlatIt<MachineRegionNode*>> | GraphTraits specialization for flat iteration of MachineRegionNode graphs. |
GraphTraits<FlatIt<Region*>> | GraphTraits specialization that walks a Region in flat CFG mode. |
GraphTraits<FlatIt<RegionNode*>> | GraphTraits specialization for flat RegionNode successors. |
GraphTraits<FlatIt<MachineRegion const*>> | GraphTraits specialization for flat iteration of const MachineRegion graphs. |
GraphTraits<FlatIt<MachineRegionNode const*>> | GraphTraits specialization for flat iteration of const MachineRegionNode graphs. |
GraphTraits<FlatIt<Region const*>> | GraphTraits specialization that walks a Region in flat CFG mode. |
GraphTraits<FlatIt<RegionNode const*>> | GraphTraits specialization for flat RegionNode successors. |
GraphTraits<Inverse<BasicBlock*>> | GraphTraits specialization walking a BasicBlock CFG in inverse (predecessor) order. |
GraphTraits<Inverse<Function*>> | GraphTraits specialization walking a Function CFG in inverse (predecessor) order. |
GraphTraits<Inverse<MachineBasicBlock*>> | GraphTraits specialization walking a MachineBasicBlock CFG in inverse order via predecessors. |
GraphTraits<Inverse<MachineFunction*>> | GraphTraits specialization walking a MachineFunction CFG in inverse order via predecessor edges. |
GraphTraits<Inverse<MemoryAccess*>> | Inverse GraphTraits specialization that walks MemoryAccess users. |
GraphTraits<Inverse<BasicBlock const*>> | GraphTraits specialization walking a const BasicBlock CFG in inverse order. |
GraphTraits<Inverse<Function const*>> | GraphTraits specialization walking a const Function CFG in inverse order. |
GraphTraits<Inverse<MachineBasicBlock const*>> | GraphTraits specialization walking a const MachineBasicBlock CFG in inverse order via predecessors. |
GraphTraits<Inverse<MachineFunction const*>> | GraphTraits specialization walking a const MachineFunction CFG in inverse order via predecessor edges. |
GraphTraits<AACallGraphNode*> | GraphTraits specialization for the Attributor call graph. |
GraphTraits<AttributorCallGraph*> | GraphTraits specialization for the Attributor call graph. |
GraphTraits<BasicBlock*> | GraphTraits specialization treating a BasicBlock as a CFG node via successors. |
GraphTraits<CallGraph*> | GraphTraits specialization treating a CallGraph as a graph of nodes. |
GraphTraits<CallGraphNode*> | GraphTraits specialization for mutable CallGraphNode pointers. |
GraphTraits<DDGNode*> | GraphTraits specialization for mutable DDGNode pointers. |
GraphTraits<DOTFuncInfo*> | GraphTraits specialization that treats DOTFuncInfo as a CFG of basic blocks. |
GraphTraits<DOTMachineFuncInfo*> | GraphTraits specialization that treats DOTMachineFuncInfo as a CFG of machine basic blocks. |
GraphTraits<DataDependenceGraph*> | GraphTraits specialization treating a DataDependenceGraph as a graph of nodes. |
GraphTraits<DomTreeNode*> | GraphTraits specialization for mutable DomTreeNode pointers. |
GraphTraits<DominatorTree*> | GraphTraits specialization so DominatorTree can be walked as a graph. |
GraphTraits<Function*> | GraphTraits specialization treating a Function as a CFG of basic blocks. |
GraphTraits<LazyCallGraph*> | GraphTraits specialization treating a LazyCallGraph as a graph of nodes. |
GraphTraits<Loop*> | GraphTraits specialization for mutable Loop pointers. |
GraphTraits<MachineBasicBlock*> | GraphTraits specialization treating a MachineBasicBlock as a CFG node via successors. |
GraphTraits<MachineDomTreeNode*> | GraphTraits specialization for mutable MachineDomTreeNode pointers. |
GraphTraits<MachineDominatorTree*> | GraphTraits specialization so MachineDominatorTree can be walked as a graph. |
GraphTraits<MachineFunction*> | GraphTraits specialization treating a MachineFunction as a CFG of machine basic blocks, with the entry node as the first block. |
GraphTraits<MachineLoop*> | GraphTraits specialization for mutable MachineLoop pointers. |
GraphTraits<MachineRegion*> | GraphTraits specialization so MachineRegion can be walked as a graph. |
GraphTraits<MachineRegionInfo*> | GraphTraits specialization so MachineRegionInfo can be walked as a flat region graph. |
GraphTraits<MachineRegionInfoPass*> | GraphTraits specialization so MachineRegionInfoPass can be walked as a flat region graph. |
GraphTraits<MachineRegionNode*> | GraphTraits specialization for mutable MachineRegionNode pointers. |
GraphTraits<MemoryAccess*> | GraphTraits specialization that walks defining accesses of a MemoryAccess. |
GraphTraits<ModuleSummaryIndex*> | GraphTraits specialization so ModuleSummaryIndex can be traversed as a graph. |
GraphTraits<LazyCallGraph::Node*> | GraphTraits specialization for LazyCallGraph nodes. |
GraphTraits<PostDominatorTree*> | GraphTraits specialization so PostDominatorTree can be walked as a graph. |
GraphTraits<ProfiledCallGraph*> | GraphTraits specialization treating a ProfiledCallGraph as a graph of nodes. |
GraphTraits<ProfiledCallGraphNode*> | GraphTraits specialization for ProfiledCallGraphNode pointers. |
GraphTraits<Region*> | GraphTraits specialization that walks a Region as a graph of nodes. |
GraphTraits<RegionInfo*> | GraphTraits specialization that walks RegionInfo as a flat region graph. |
GraphTraits<RegionInfoPass*> | GraphTraits specialization that walks RegionInfoPass via its RegionInfo. |
GraphTraits<RegionNode*> | GraphTraits specialization for hierarchical RegionNode successors. |
GraphTraits<SDNode*> | GraphTraits specialization treating SDNode operands as children. |
GraphTraits<SUnit*> | GraphTraits specialization so algorithms can walk SUnit predecessor edges. |
GraphTraits<ScheduleDAG*> | GraphTraits specialization for iterating all SUnits in a ScheduleDAG. |
GraphTraits<SelectionDAG*> | GraphTraits specialization that iterates every node in a SelectionDAG. |
GraphTraits<BasicBlock const*> | GraphTraits specialization treating a const BasicBlock as a CFG node via successors. |
GraphTraits<CallGraph const*> | GraphTraits specialization treating a const CallGraph as a graph of nodes. |
GraphTraits<CallGraphNode const*> | GraphTraits specialization for const CallGraphNode pointers. |
GraphTraits<DDGNode const*> | GraphTraits specialization for const DDGNode pointers. |
GraphTraits<DataDependenceGraph const*> | GraphTraits specialization treating a const DataDependenceGraph as a graph of nodes. |
GraphTraits<DomTreeNode const*> | GraphTraits specialization for const DomTreeNode pointers. |
GraphTraits<Function const*> | GraphTraits specialization treating a const Function as a CFG of basic blocks. |
GraphTraits<Loop const*> | GraphTraits specialization for const Loop pointers. |
GraphTraits<MachineBasicBlock const*> | GraphTraits specialization treating a const MachineBasicBlock as a CFG node via successors. |
GraphTraits<MachineDomTreeNode const*> | GraphTraits specialization for const MachineDomTreeNode pointers. |
GraphTraits<MachineFunction const*> | GraphTraits specialization treating a const MachineFunction as a CFG of machine basic blocks, with the entry node as the first block. |
GraphTraits<MachineLoop const*> | GraphTraits specialization for const MachineLoop pointers. |
GraphTraits<MachineRegion const*> | GraphTraits specialization so const MachineRegion can be walked as a graph. |
GraphTraits<MachineRegionNode const*> | GraphTraits specialization for const MachineRegionNode pointers. |
GraphTraits<Region const*> | GraphTraits specialization that walks a Region as a graph of nodes. |
GraphTraits<RegionNode const*> | GraphTraits specialization for hierarchical RegionNode successors. |
GraphTraits<Inverse<Inverse<T>>> | GraphTraits for a double-inverted graph, same as for the original type. |
| Name | Description |
|---|---|
GraphTraits<Inverse<Inverse<T>>> | GraphTraits for a double-inverted graph, same as for the original type. |