Lines Matching defs:Slice

520 class Slice {
532 Slice() = default;
534 Slice(uint64_t BeginOffset, uint64_t EndOffset, Use *U, bool IsSplittable)
555 bool operator<(const Slice &RHS) const {
568 friend LLVM_ATTRIBUTE_UNUSED bool operator<(const Slice &LHS,
573 const Slice &RHS) {
577 bool operator==(const Slice &RHS) const {
581 bool operator!=(const Slice &RHS) const { return !operator==(RHS); }
604 using iterator = SmallVectorImpl<Slice>::iterator;
610 using const_iterator = SmallVectorImpl<Slice>::const_iterator;
625 void insert(ArrayRef<Slice> NewSlices) {
688 /// slices before the splittable ones. See the Slice inner class for more
690 SmallVector<Slice, 8> Slices;
738 SmallVector<Slice *, 4> SplitTails;
785 ArrayRef<Slice *> splitSliceTails() const { return SplitTails; }
843 [&](Slice *S) { return S->endOffset() <= P.EndOffset; });
845 [&](Slice *S) {
850 [&](Slice *S) {
869 for (Slice &S : P)
1073 AS.Slices.push_back(Slice(BeginOffset, EndOffset, U, IsSplittable));
1222 Slice &PrevP = AS.Slices[PrevIdx];
1412 llvm::erase_if(Slices, [](const Slice &S) { return S.isDead(); });
2022 static bool isVectorPromotionViableForSlice(Partition &P, const Slice &S,
2109 for (const Slice &S : P)
2113 for (const Slice *S : P.splitSliceTails())
2296 for (const Slice &S : P) {
2336 static bool isIntegerWideningViableForSlice(const Slice &S,
2457 for (const Slice &S : P)
2462 for (const Slice *S : P.splitSliceTails())
4320 Slice *S;
4340 for (Slice &S : P) {
4403 for (Slice *S : P.splitSliceTails()) {
4486 SmallVector<Slice, 4> NewSlices;
4544 Slice(BaseOffset + PartOffset, BaseOffset + PartOffset + PartSize,
4642 "Slice size should always match load size exactly!");
4703 Slice(BaseOffset + PartOffset, BaseOffset + PartOffset + PartSize,
4758 llvm::erase_if(AS, [](const Slice &S) { return S.isDead(); });
4888 for (Slice *S : P.splitSliceTails()) {
4892 for (Slice &S : P) {
5231 for (Slice &S : AS)
5236 for (Slice &S : AS) {
5253 for (Slice &S : AS) {