Lines Matching refs:VPBlockBase
37 VPBlockBase> {
93 const VPBlockBase *operator*() const { return deref(Block, SuccessorIdx); }
128 template <> struct GraphTraits<VPBlockDeepTraversalWrapper<VPBlockBase *>> {
129 using NodeRef = VPBlockBase *;
130 using ChildIteratorType = VPAllSuccessorsIterator<VPBlockBase *>;
132 static NodeRef getEntryNode(VPBlockDeepTraversalWrapper<VPBlockBase *> N) {
146 struct GraphTraits<VPBlockDeepTraversalWrapper<const VPBlockBase *>> {
147 using NodeRef = const VPBlockBase *;
148 using ChildIteratorType = VPAllSuccessorsIterator<const VPBlockBase *>;
151 getEntryNode(VPBlockDeepTraversalWrapper<const VPBlockBase *> N) {
174 template <> struct GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>> {
175 using NodeRef = VPBlockBase *;
176 using ChildIteratorType = SmallVectorImpl<VPBlockBase *>::iterator;
178 static NodeRef getEntryNode(VPBlockShallowTraversalWrapper<VPBlockBase *> N) {
192 struct GraphTraits<VPBlockShallowTraversalWrapper<const VPBlockBase *>> {
193 using NodeRef = const VPBlockBase *;
194 using ChildIteratorType = SmallVectorImpl<VPBlockBase *>::const_iterator;
197 getEntryNode(VPBlockShallowTraversalWrapper<const VPBlockBase *> N) {
213 df_iterator<VPBlockShallowTraversalWrapper<VPBlockBase *>>>
214 vp_depth_first_shallow(VPBlockBase *G) {
215 return depth_first(VPBlockShallowTraversalWrapper<VPBlockBase *>(G));
218 df_iterator<VPBlockShallowTraversalWrapper<const VPBlockBase *>>>
219 vp_depth_first_shallow(const VPBlockBase *G) {
220 return depth_first(VPBlockShallowTraversalWrapper<const VPBlockBase *>(G));
225 inline iterator_range<df_iterator<VPBlockDeepTraversalWrapper<VPBlockBase *>>>
226 vp_depth_first_deep(VPBlockBase *G) {
227 return depth_first(VPBlockDeepTraversalWrapper<VPBlockBase *>(G));
230 df_iterator<VPBlockDeepTraversalWrapper<const VPBlockBase *>>>
231 vp_depth_first_deep(const VPBlockBase *G) {
232 return depth_first(VPBlockDeepTraversalWrapper<const VPBlockBase *>(G));
241 template <> struct GraphTraits<VPBlockBase *> {
242 using NodeRef = VPBlockBase *;
243 using ChildIteratorType = VPAllSuccessorsIterator<VPBlockBase *>;
256 template <> struct GraphTraits<const VPBlockBase *> {
257 using NodeRef = const VPBlockBase *;
258 using ChildIteratorType = VPAllSuccessorsIterator<const VPBlockBase *>;
274 template <> struct GraphTraits<Inverse<VPBlockBase *>> {
275 using NodeRef = VPBlockBase *;
276 using ChildIteratorType = SmallVectorImpl<VPBlockBase *>::iterator;
293 using NodeRef = VPBlockBase *;