Lines Matching refs:Field
18 using Field = OptimizedStructLayoutField; typedef
21 static void checkValidLayout(ArrayRef<Field> Fields, uint64_t Size, in checkValidLayout()
25 for (auto &Field : Fields) { in checkValidLayout() local
26 assert(Field.hasFixedOffset() && in checkValidLayout()
28 assert(isAligned(Field.Alignment, Field.Offset) && in checkValidLayout()
30 assert(Field.Offset >= LastEnd && in checkValidLayout()
32 LastEnd = Field.getEndOffset(); in checkValidLayout()
33 assert(Field.Alignment <= MaxAlign && in checkValidLayout()
35 ComputedMaxAlign = std::max(Field.Alignment, MaxAlign); in checkValidLayout()
43 llvm::performOptimizedStructLayout(MutableArrayRef<Field> Fields) { in performOptimizedStructLayout()
49 for (auto &Field : Fields) { in performOptimizedStructLayout() local
50 assert(Field.Size > 0 && "field of zero size"); in performOptimizedStructLayout()
51 if (Field.hasFixedOffset()) { in performOptimizedStructLayout()
54 assert(LastEnd <= Field.Offset && in performOptimizedStructLayout()
56 LastEnd = Field.getEndOffset(); in performOptimizedStructLayout()
57 assert(LastEnd > Field.Offset && in performOptimizedStructLayout()
107 [](const Field *lhs, const Field *rhs) -> int { in performOptimizedStructLayout()
250 static Field *getNext(Field *Cur) { in performOptimizedStructLayout()
251 return static_cast<Field *>(Cur->Scratch); in performOptimizedStructLayout()
295 auto spliceFromQueue = [&](AlignmentQueue *Queue, Field *Last, Field *Cur) { in performOptimizedStructLayout()
322 SmallVector<Field, 16> Layout; in performOptimizedStructLayout()
330 auto addToLayout = [&](AlignmentQueue *Queue, Field *Last, Field *Cur, in performOptimizedStructLayout()
364 for (Field *Cur = Queue->Head, *Last = nullptr; true; in performOptimizedStructLayout()