Lines Matching refs:Field
17 using Field = OptimizedStructLayoutField; typedef
20 static void checkValidLayout(ArrayRef<Field> Fields, uint64_t Size, in checkValidLayout()
24 for (auto &Field : Fields) { in checkValidLayout() local
25 assert(Field.hasFixedOffset() && in checkValidLayout()
27 assert(isAligned(Field.Alignment, Field.Offset) && in checkValidLayout()
29 assert(Field.Offset >= LastEnd && in checkValidLayout()
31 LastEnd = Field.getEndOffset(); in checkValidLayout()
32 assert(Field.Alignment <= MaxAlign && in checkValidLayout()
34 ComputedMaxAlign = std::max(Field.Alignment, MaxAlign); in checkValidLayout()
42 llvm::performOptimizedStructLayout(MutableArrayRef<Field> Fields) { in performOptimizedStructLayout()
48 for (auto &Field : Fields) { in performOptimizedStructLayout() local
49 assert(Field.Size > 0 && "field of zero size"); in performOptimizedStructLayout()
50 if (Field.hasFixedOffset()) { in performOptimizedStructLayout()
53 assert(LastEnd <= Field.Offset && in performOptimizedStructLayout()
55 LastEnd = Field.getEndOffset(); in performOptimizedStructLayout()
56 assert(LastEnd > Field.Offset && in performOptimizedStructLayout()
106 [](const Field *lhs, const Field *rhs) -> int { in performOptimizedStructLayout()
249 static Field *getNext(Field *Cur) { in performOptimizedStructLayout()
250 return static_cast<Field *>(Cur->Scratch); in performOptimizedStructLayout()
294 auto spliceFromQueue = [&](AlignmentQueue *Queue, Field *Last, Field *Cur) { in performOptimizedStructLayout()
321 SmallVector<Field, 16> Layout; in performOptimizedStructLayout()
329 auto addToLayout = [&](AlignmentQueue *Queue, Field *Last, Field *Cur, in performOptimizedStructLayout()
363 for (Field *Cur = Queue->Head, *Last = nullptr; true; in performOptimizedStructLayout()