reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
75 return Entries.empty();
tools/clang/lib/CodeGen/SwiftCallingConv.cpp266 if (Entries.empty() || Entries.back().End <= begin) { 266 if (Entries.empty() || Entries.back().End <= begin) { 267 Entries.push_back({begin, end, type}); 273 size_t index = Entries.size() - 1; 275 if (Entries[index - 1].End <= begin) break; 281 if (Entries[index].Begin >= end) { 285 Entries.insert(Entries.begin() + index, {begin, end, type}); 285 Entries.insert(Entries.begin() + index, {begin, end, type}); 294 if (Entries[index].Begin == begin && Entries[index].End == end) { 294 if (Entries[index].Begin == begin && Entries[index].End == end) { 296 if (Entries[index].Type == type) return; 299 if (Entries[index].Type == nullptr) { 302 Entries[index].Type = nullptr; 308 if (auto entryType = getCommonType(Entries[index].Type, type)) { 309 Entries[index].Type = entryType; 314 Entries[index].Type = nullptr; 334 if (Entries[index].Type && Entries[index].Type->isVectorTy()) { 334 if (Entries[index].Type && Entries[index].Type->isVectorTy()) { 341 Entries[index].Type = nullptr; 344 if (begin < Entries[index].Begin) { 345 Entries[index].Begin = begin; 346 assert(index == 0 || begin >= Entries[index - 1].End); 351 while (end > Entries[index].End) { 352 assert(Entries[index].Type == nullptr); 355 if (index == Entries.size() - 1 || end <= Entries[index + 1].Begin) { 355 if (index == Entries.size() - 1 || end <= Entries[index + 1].Begin) { 356 Entries[index].End = end; 361 Entries[index].End = Entries[index + 1].Begin; 361 Entries[index].End = Entries[index + 1].Begin; 367 if (Entries[index].Type == nullptr) 371 if (Entries[index].Type->isVectorTy() && 372 end < Entries[index].End) { 377 Entries[index].Type = nullptr; 384 auto vecTy = cast<llvm::VectorType>(Entries[index].Type); 385 auto split = splitLegalVectorType(CGM, Entries[index].getWidth(), vecTy); 390 Entries.insert(Entries.begin() + index + 1, numElts - 1, StorageEntry()); 390 Entries.insert(Entries.begin() + index + 1, numElts - 1, StorageEntry()); 392 CharUnits begin = Entries[index].Begin; 394 Entries[index].Type = eltTy; 395 Entries[index].Begin = begin; 396 Entries[index].End = begin + eltSize; 452 if (Entries.empty()) { 464 bool hasOpaqueEntries = (Entries[0].Type == nullptr); 465 for (size_t i = 1, e = Entries.size(); i != e; ++i) { 466 if (shouldMergeEntries(Entries[i - 1], Entries[i], chunkSize)) { 466 if (shouldMergeEntries(Entries[i - 1], Entries[i], chunkSize)) { 467 Entries[i - 1].Type = nullptr; 468 Entries[i].Type = nullptr; 469 Entries[i - 1].End = Entries[i].Begin; 469 Entries[i - 1].End = Entries[i].Begin; 472 } else if (Entries[i].Type == nullptr) { 485 auto orig = std::move(Entries); 486 assert(Entries.empty()); 491 Entries.push_back(orig[i]); 531 Entries.push_back({unitBegin, unitEnd, entryTy}); 545 for (auto &entry : Entries) { 556 if (Entries.empty()) { 565 for (auto &entry : Entries) { 594 for (auto &entry : Entries) { 602 } else if (Entries.size() == 1) { 603 unpaddedType = Entries[0].Type; 613 if (Entries.empty()) return false; 616 if (Entries.size() == 1) { 618 Entries.back().Type, 623 componentTys.reserve(Entries.size()); 624 for (auto &entry : Entries) {