Lines Matching refs:Entries
279 if (Entries.empty() || Entries.back().End <= begin) { in addEntry()
280 Entries.push_back({begin, end, type}); in addEntry()
286 size_t index = Entries.size() - 1; in addEntry()
288 if (Entries[index - 1].End <= begin) break; in addEntry()
294 if (Entries[index].Begin >= end) { in addEntry()
298 Entries.insert(Entries.begin() + index, {begin, end, type}); in addEntry()
307 if (Entries[index].Begin == begin && Entries[index].End == end) { in addEntry()
309 if (Entries[index].Type == type) return; in addEntry()
312 if (Entries[index].Type == nullptr) { in addEntry()
315 Entries[index].Type = nullptr; in addEntry()
321 if (auto entryType = getCommonType(Entries[index].Type, type)) { in addEntry()
322 Entries[index].Type = entryType; in addEntry()
327 Entries[index].Type = nullptr; in addEntry()
350 if (Entries[index].Type && Entries[index].Type->isVectorTy()) { in addEntry()
357 Entries[index].Type = nullptr; in addEntry()
360 if (begin < Entries[index].Begin) { in addEntry()
361 Entries[index].Begin = begin; in addEntry()
362 assert(index == 0 || begin >= Entries[index - 1].End); in addEntry()
367 while (end > Entries[index].End) { in addEntry()
368 assert(Entries[index].Type == nullptr); in addEntry()
371 if (index == Entries.size() - 1 || end <= Entries[index + 1].Begin) { in addEntry()
372 Entries[index].End = end; in addEntry()
377 Entries[index].End = Entries[index + 1].Begin; in addEntry()
383 if (Entries[index].Type == nullptr) in addEntry()
387 if (Entries[index].Type->isVectorTy() && in addEntry()
388 end < Entries[index].End) { in addEntry()
393 Entries[index].Type = nullptr; in addEntry()
400 auto vecTy = cast<llvm::VectorType>(Entries[index].Type); in splitVectorEntry()
401 auto split = splitLegalVectorType(CGM, Entries[index].getWidth(), vecTy); in splitVectorEntry()
406 Entries.insert(Entries.begin() + index + 1, numElts - 1, StorageEntry()); in splitVectorEntry()
408 CharUnits begin = Entries[index].Begin; in splitVectorEntry()
410 Entries[index].Type = eltTy; in splitVectorEntry()
411 Entries[index].Begin = begin; in splitVectorEntry()
412 Entries[index].End = begin + eltSize; in splitVectorEntry()
468 if (Entries.empty()) { in finish()
480 bool hasOpaqueEntries = (Entries[0].Type == nullptr); in finish()
481 for (size_t i = 1, e = Entries.size(); i != e; ++i) { in finish()
482 if (shouldMergeEntries(Entries[i - 1], Entries[i], chunkSize)) { in finish()
483 Entries[i - 1].Type = nullptr; in finish()
484 Entries[i].Type = nullptr; in finish()
485 Entries[i - 1].End = Entries[i].Begin; in finish()
488 } else if (Entries[i].Type == nullptr) { in finish()
501 auto orig = std::move(Entries); in finish()
502 assert(Entries.empty()); in finish()
507 Entries.push_back(orig[i]); in finish()
547 Entries.push_back({unitBegin, unitEnd, entryTy}); in finish()
561 for (auto &entry : Entries) { in enumerateComponents()
572 if (Entries.empty()) { in getCoerceAndExpandTypes()
581 for (auto &entry : Entries) { in getCoerceAndExpandTypes()
610 for (auto &entry : Entries) { in getCoerceAndExpandTypes()
618 } else if (Entries.size() == 1) { in getCoerceAndExpandTypes()
619 unpaddedType = Entries[0].Type; in getCoerceAndExpandTypes()
629 if (Entries.empty()) return false; in shouldPassIndirectly()
632 if (Entries.size() == 1) { in shouldPassIndirectly()
634 Entries.back().Type, in shouldPassIndirectly()
639 componentTys.reserve(Entries.size()); in shouldPassIndirectly()
640 for (auto &entry : Entries) { in shouldPassIndirectly()