Lines Matching refs:Field
79 enum InfoKind { VFPtr, VBPtr, Field, Base, VBase, Scissor } Kind; enumerator
99 return MemberInfo(Offset, MemberInfo::Field, Data); in StorageInfo()
187 void accumulateBitFields(RecordDecl::field_iterator Field,
321 for (const auto *Field : D->fields()) { in lowerUnion() local
322 if (Field->isBitField()) { in lowerUnion()
323 if (Field->isZeroLengthBitField(Context)) in lowerUnion()
325 llvm::Type *FieldType = getStorageType(Field); in lowerUnion()
328 setBitFieldInfo(Field, CharUnits::Zero(), FieldType); in lowerUnion()
330 Fields[Field->getCanonicalDecl()] = 0; in lowerUnion()
331 llvm::Type *FieldType = getStorageType(Field); in lowerUnion()
339 SeenNamedMember = Field->getIdentifier(); in lowerUnion()
341 if (const auto *FieldRD = Field->getType()->getAsRecordDecl()) in lowerUnion()
343 if (SeenNamedMember && !isZeroInitializable(Field)) { in lowerUnion()
379 for (RecordDecl::field_iterator Field = D->field_begin(), in accumulateFields() local
381 Field != FieldEnd;) { in accumulateFields()
382 if (Field->isBitField()) { in accumulateFields()
383 RecordDecl::field_iterator Start = Field; in accumulateFields()
385 for (++Field; Field != FieldEnd && Field->isBitField(); ++Field); in accumulateFields()
386 accumulateBitFields(Start, Field); in accumulateFields()
387 } else if (!Field->isZeroSize(Context)) { in accumulateFields()
391 bitsToCharUnits(getFieldBitOffset(*Field)), MemberInfo::Field, in accumulateFields()
392 Field->isPotentiallyOverlapping() in accumulateFields()
393 ? getStorageType(Field->getType()->getAsCXXRecordDecl()) in accumulateFields()
394 : getStorageType(*Field), in accumulateFields()
395 *Field)); in accumulateFields()
396 ++Field; in accumulateFields()
398 ++Field; in accumulateFields()
404 CGRecordLowering::accumulateBitFields(RecordDecl::field_iterator Field, in accumulateBitFields() argument
417 for (; Field != FieldEnd; ++Field) { in accumulateBitFields()
418 uint64_t BitOffset = getFieldBitOffset(*Field); in accumulateBitFields()
420 if (Field->isZeroLengthBitField(Context)) { in accumulateBitFields()
425 Types.ConvertTypeForMem(Field->getType(), /*ForBitField=*/true); in accumulateBitFields()
429 Run = Field; in accumulateBitFields()
440 MemberInfo::Field, nullptr, *Field)); in accumulateBitFields()
472 if (Field == FieldEnd) in accumulateBitFields()
475 if (!Field->isZeroLengthBitField(Context)) { in accumulateBitFields()
476 Run = Field; in accumulateBitFields()
477 StartBitOffset = getFieldBitOffset(*Field); in accumulateBitFields()
478 Tail = StartBitOffset + Field->getBitWidthValue(Context); in accumulateBitFields()
482 ++Field; in accumulateBitFields()
495 if (!StartFieldAsSingleRun && Field != FieldEnd && in accumulateBitFields()
497 (!Field->isZeroLengthBitField(Context) || in accumulateBitFields()
500 Tail == getFieldBitOffset(*Field)) { in accumulateBitFields()
501 Tail += Field->getBitWidthValue(Context); in accumulateBitFields()
502 ++Field; in accumulateBitFields()
512 for (; Run != Field; ++Run) in accumulateBitFields()
514 MemberInfo::Field, nullptr, *Run)); in accumulateBitFields()
560 const FieldDecl *Field = I.first; in computeVolatileBitfields() local
562 llvm::Type *ResLTy = Types.ConvertTypeForMem(Field->getType()); in computeVolatileBitfields()
606 Context.getASTRecordLayout(Field->getParent()); in computeVolatileBitfields()
728 if (Member->Kind == MemberInfo::Field) { in calculateZeroInit()
753 assert(Prior->Kind == MemberInfo::Field && in clipTailPadding()
837 if (Member->Kind == MemberInfo::Field) { in fillOutputFields()