Lines Matching refs:begin
65 void SwiftAggLowering::addTypedData(QualType type, CharUnits begin) { in addTypedData() argument
70 addTypedData(recType->getDecl(), begin); in addTypedData()
82 addTypedData(eltType, begin + i * eltSize); in addTypedData()
90 addTypedData(eltLLVMType, begin, begin + eltSize); in addTypedData()
91 addTypedData(eltLLVMType, begin + eltSize, begin + 2 * eltSize); in addTypedData()
96 addOpaqueData(begin, begin + CGM.getContext().getTypeSizeInChars(type)); in addTypedData()
104 addTypedData(atomicType->getValueType(), begin); in addTypedData()
109 addOpaqueData(begin + valueSize, begin + atomicSize); in addTypedData()
116 addTypedData(llvmType, begin); in addTypedData()
120 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin) { in addTypedData() argument
121 addTypedData(record, begin, CGM.getContext().getASTRecordLayout(record)); in addTypedData()
124 void SwiftAggLowering::addTypedData(const RecordDecl *record, CharUnits begin, in addTypedData() argument
130 addBitFieldData(field, begin, 0); in addTypedData()
132 addTypedData(field->getType(), begin); in addTypedData()
147 addTypedData(CGM.Int8PtrTy, begin); in addTypedData()
155 addTypedData(baseRecord, begin + layout.getBaseClassOffset(baseRecord)); in addTypedData()
160 addTypedData(CGM.Int8PtrTy, begin + layout.getVBPtrOffset()); in addTypedData()
168 addBitFieldData(field, begin, fieldOffsetInBits); in addTypedData()
171 begin + CGM.getContext().toCharUnitsFromBits(fieldOffsetInBits)); in addTypedData()
180 addTypedData(baseRecord, begin + layout.getVBaseClassOffset(baseRecord)); in addTypedData()
208 void SwiftAggLowering::addTypedData(llvm::Type *type, CharUnits begin) { in addTypedData() argument
210 addTypedData(type, begin, begin + getTypeStoreSize(CGM, type)); in addTypedData()
214 CharUnits begin, CharUnits end) { in addTypedData() argument
216 assert(getTypeStoreSize(CGM, type) == end - begin); in addTypedData()
221 legalizeVectorType(CGM, end - begin, vecTy, componentTys); in addTypedData()
228 assert(componentSize < end - begin); in addTypedData()
229 addLegalTypedData(componentTy, begin, begin + componentSize); in addTypedData()
230 begin += componentSize; in addTypedData()
233 return addLegalTypedData(componentTys.back(), begin, end); in addTypedData()
239 return addOpaqueData(begin, end); in addTypedData()
243 return addLegalTypedData(type, begin, end); in addTypedData()
247 CharUnits begin, CharUnits end) { in addLegalTypedData() argument
249 if (!begin.isZero() && !begin.isMultipleOf(getNaturalAlignment(CGM, type))) { in addLegalTypedData()
253 auto split = splitLegalVectorType(CGM, end - begin, vecTy); in addLegalTypedData()
257 auto eltSize = (end - begin) / numElts; in addLegalTypedData()
260 addLegalTypedData(eltTy, begin, begin + eltSize); in addLegalTypedData()
261 begin += eltSize; in addLegalTypedData()
263 assert(begin == end); in addLegalTypedData()
267 return addOpaqueData(begin, end); in addLegalTypedData()
270 addEntry(type, begin, end); in addLegalTypedData()
274 CharUnits begin, CharUnits end) { in addEntry() argument
278 assert(!type || begin.isMultipleOf(getNaturalAlignment(CGM, type))); in addEntry()
281 if (Entries.empty() || Entries.back().End <= begin) { in addEntry()
282 Entries.push_back({begin, end, type}); in addEntry()
290 if (Entries[index - 1].End <= begin) break; in addEntry()
300 Entries.insert(Entries.begin() + index, {begin, end, type}); in addEntry()
309 if (Entries[index].Begin == begin && Entries[index].End == end) { in addEntry()
339 (end - begin) / cast<llvm::FixedVectorType>(vecTy)->getNumElements(); in addEntry()
344 addEntry(eltTy, begin, begin + eltSize); in addEntry()
345 begin += eltSize; in addEntry()
347 assert(begin == end); in addEntry()
362 if (begin < Entries[index].Begin) { in addEntry()
363 Entries[index].Begin = begin; in addEntry()
364 assert(index == 0 || begin >= Entries[index - 1].End); in addEntry()
408 Entries.insert(Entries.begin() + index + 1, numElts - 1, StorageEntry()); in splitVectorEntry()
410 CharUnits begin = Entries[index].Begin; in splitVectorEntry() local
414 Entries[idx].Begin = begin; in splitVectorEntry()
415 Entries[idx].End = begin + eltSize; in splitVectorEntry()
416 begin += eltSize; in splitVectorEntry()
517 auto begin = orig[i].Begin; in finish() local
531 CharUnits localBegin = begin; in finish()
553 begin = localEnd; in finish()
554 } while (begin != end); in finish()