• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching defs:MemberInfo

74   // MemberInfo is a helper structure that contains information about a record
77 struct MemberInfo {
85 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data,
88 MemberInfo(CharUnits Offset, InfoKind Kind, llvm::Type *Data,
92 bool operator <(const MemberInfo& a) const { return Offset < a.Offset; }
97 /// Constructs a MemberInfo instance from an offset and llvm::Type *.
98 MemberInfo StorageInfo(CharUnits Offset, llvm::Type *Data) {
99 return MemberInfo(Offset, MemberInfo::Field, Data);
200 std::vector<MemberInfo> Members;
357 Members.push_back(MemberInfo(
358 bitsToCharUnits(getFieldBitOffset(*Field)), MemberInfo::Field,
403 Members.push_back(MemberInfo(bitsToCharUnits(StartBitOffset),
404 MemberInfo::Field, nullptr, *Field));
477 Members.push_back(MemberInfo(bitsToCharUnits(StartBitOffset),
478 MemberInfo::Field, nullptr, *Run));
488 Members.push_back(MemberInfo(CharUnits::Zero(), MemberInfo::Base,
501 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl),
502 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl));
508 Members.push_back(MemberInfo(CharUnits::Zero(), MemberInfo::VFPtr,
512 Members.push_back(MemberInfo(Layout.getVBPtrOffset(), MemberInfo::VBPtr,
534 Members.push_back(MemberInfo(ScissorOffset, MemberInfo::Scissor, nullptr,
546 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, nullptr,
554 Members.push_back(MemberInfo(Offset, MemberInfo::VBase,
571 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
574 if (Member->Kind == MemberInfo::Field) {
578 } else if (Member->Kind == MemberInfo::Base ||
579 Member->Kind == MemberInfo::VBase) {
583 if (Member->Kind == MemberInfo::Base)
590 std::vector<MemberInfo>::iterator Prior = Members.begin();
592 for (std::vector<MemberInfo>::iterator Member = Prior + 1,
596 if (!Member->Data && Member->Kind != MemberInfo::Scissor)
599 assert(Prior->Kind == MemberInfo::Field &&
624 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
654 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
678 for (std::vector<MemberInfo>::const_iterator Member = Members.begin(),
683 if (Member->Kind == MemberInfo::Field) {
689 } else if (Member->Kind == MemberInfo::Base)
691 else if (Member->Kind == MemberInfo::VBase)