Go to the documentation of this file.
19 #ifndef LLVM_ADT_GRAPHTRAITS_H
20 #define LLVM_ADT_GRAPHTRAITS_H
36 template<
class GraphType>
80 using NodeRef =
typename GraphType::UnknownGraphTypeError;
96 template <
class GraphType>
108 template <
class GraphType>
114 template <
class GraphType>
115 iterator_range<typename GraphTraits<Inverse<GraphType>>::nodes_iterator>
121 template <
class GraphType>
122 iterator_range<typename GraphTraits<GraphType>::ChildIteratorType>
128 template <
class GraphType>
129 iterator_range<typename GraphTraits<Inverse<GraphType>>::ChildIteratorType>
135 template <
class GraphType>
136 iterator_range<typename GraphTraits<GraphType>::ChildEdgeIteratorType>
144 #endif // LLVM_ADT_GRAPHTRAITS_H
This is an optimization pass for GlobalISel generic memory operations.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
iterator_range< typename GraphTraits< Inverse< GraphType > >::ChildIteratorType > inverse_children(const typename GraphTraits< GraphType >::NodeRef &G)
Inverse(const GraphType &G)
iterator_range< typename GraphTraits< GraphType >::nodes_iterator > nodes(const GraphType &G)
iterator_range< typename GraphTraits< GraphType >::ChildIteratorType > children(const typename GraphTraits< GraphType >::NodeRef &G)
iterator_range< typename GraphTraits< GraphType >::ChildEdgeIteratorType > children_edges(const typename GraphTraits< GraphType >::NodeRef &G)
iterator_range< typename GraphTraits< Inverse< GraphType > >::nodes_iterator > inverse_nodes(const GraphType &G)
A range adaptor for a pair of iterators.
typename FlatIt< RegionNode * > ::UnknownGraphTypeError NodeRef