Lines Matching full:directive

28 static iterator_range<ArrayRef<Directive>::iterator>
29 getFirstCompositeRange(iterator_range<ArrayRef<Directive>::iterator> Leafs) { in getFirstCompositeRange()
31 // If directive-name-A and directive-name-B both correspond to loop- in getFirstCompositeRange()
32 // associated constructs then directive-name is a composite construct in getFirstCompositeRange()
33 // otherwise directive-name is a combined construct. in getFirstCompositeRange()
50 [](iterator_range<ArrayRef<Directive>::iterator> List) { in getFirstCompositeRange()
77 ArrayRef<Directive> getLeafConstructs(Directive D) { in getLeafConstructs()
85 ArrayRef<Directive> getLeafConstructsOrSelf(Directive D) { in getLeafConstructsOrSelf()
89 assert(Idx < Directive_enumSize && "Invalid directive"); in getLeafConstructsOrSelf()
91 // The first entry in the row is the directive itself. in getLeafConstructsOrSelf()
95 ArrayRef<Directive>
96 getLeafOrCompositeConstructs(Directive D, SmallVectorImpl<Directive> &Output) { in getLeafOrCompositeConstructs()
97 using ArrayTy = ArrayRef<Directive>; in getLeafOrCompositeConstructs()
99 ArrayRef<Directive> Leafs = getLeafConstructsOrSelf(D); in getLeafOrCompositeConstructs()
108 Directive Comp = in getLeafOrCompositeConstructs()
116 assert(Iter == Leafs.end() && "Malformed directive"); in getLeafOrCompositeConstructs()
123 Directive getCompoundConstruct(ArrayRef<Directive> Parts) { in getCompoundConstruct()
130 SmallVector<Directive> RawLeafs(2); in getCompoundConstruct()
131 for (Directive P : Parts) { in getCompoundConstruct()
132 ArrayRef<Directive> Ls = getLeafConstructs(P); in getCompoundConstruct()
141 // not correspond to any compound directive). Because of that, we will in getCompoundConstruct()
145 auto GivenLeafs{ArrayRef<Directive>(RawLeafs).drop_front(2)}; in getCompoundConstruct()
148 RawLeafs[1] = static_cast<Directive>(GivenLeafs.size()); in getCompoundConstruct()
153 [](const llvm::omp::Directive *RowA, const llvm::omp::Directive *RowB) { in getCompoundConstruct()
167 Directive Found = (*Iter)[0]; in getCompoundConstruct()
168 ArrayRef<Directive> FoundLeafs = getLeafConstructs(Found); in getCompoundConstruct()
174 bool isLeafConstruct(Directive D) { return getLeafConstructs(D).empty(); } in isLeafConstruct()
176 bool isCompositeConstruct(Directive D) { in isCompositeConstruct()
177 ArrayRef<Directive> Leafs = getLeafConstructsOrSelf(D); in isCompositeConstruct()
184 bool isCombinedConstruct(Directive D) { in isCombinedConstruct()
186 // Otherwise directive-name is a combined construct. in isCombinedConstruct()