Lines Matching defs:CTy
158 void CheckCompositeType(DIDerivedType *ParentTy, DICompositeType *CTy);
178 uint32_t GetFieldInfo(uint32_t InfoKind, DICompositeType *CTy,
232 DICompositeType *CTy) {
233 if (!CTy->getName().empty() || !ParentTy ||
237 if (AnonRecords.find(CTy) == AnonRecords.end()) {
238 AnonRecords[CTy] = ParentTy;
245 DIDerivedType *CurrTy = AnonRecords[CTy];
248 AnonRecords[CTy] = nullptr;
271 if (auto *CTy = dyn_cast<DICompositeType>(Ty))
272 return CheckCompositeType(ParentTy, CTy);
306 static uint32_t calcArraySize(const DICompositeType *CTy, uint32_t StartDim) {
307 DINodeArray Elements = CTy->getElements();
517 const auto *CTy = dyn_cast<DICompositeType>(CType);
518 assert(PTy && CTy && "ParentType or ChildType is null or not composite");
525 uint32_t CTyTag = CTy->getTag();
532 return PTy->getBaseType() == CTy->getBaseType();
540 return dyn_cast<DICompositeType>(stripQualifiers(Ty)) == CTy;
681 DICompositeType *CTy,
688 uint32_t Tag = CTy->getTag();
691 auto *EltTy = stripQualifiers(CTy->getBaseType());
692 PatchImm += AccessIndex * calcArraySize(CTy, 1) *
695 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
710 auto *EltTy = stripQualifiers(CTy->getBaseType());
711 return calcArraySize(CTy, 1) * (EltTy->getSizeInBits() >> 3);
713 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
732 if (CTy->getElements().size() != 1)
734 BaseTy = stripQualifiers(CTy->getBaseType());
736 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
765 auto *EltTy = stripQualifiers(CTy->getBaseType());
766 SizeInBits = calcArraySize(CTy, 1) * EltTy->getSizeInBits();
768 MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
796 auto *EltTy = stripQualifiers(CTy->getBaseType());
797 SizeInBits = calcArraySize(CTy, 1) * EltTy->getSizeInBits();
799 MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
894 if (const auto *CTy = dyn_cast<DICompositeType>(Ty)) {
896 assert(CTy->getTag() == dwarf::DW_TAG_array_type);
899 FirstIndex += AccessIndex * calcArraySize(CTy, 1);
900 BaseTy = stripQualifiers(CTy->getBaseType());
901 CheckElemType = CTy->getElements().size() == 1;
908 CTy = dyn_cast<DICompositeType>(BaseTy);
909 if (!CTy) {
911 } else if (CTy->getTag() != dwarf::DW_TAG_array_type) {
915 FirstIndex += AccessIndex * calcArraySize(CTy, 0);
920 auto *CTy = dyn_cast<DICompositeType>(BaseTy);
921 if (!CTy) {
927 unsigned CTag = CTy->getTag();
929 TypeName = std::string(CTy->getName());
935 TypeMeta = CTy;
936 PatchImm += FirstIndex * (CTy->getSizeInBits() >> 3);
974 auto *CTy = cast<DICompositeType>(stripQualifiers(cast<DIType>(MDN)));
975 PatchImm = GetFieldInfo(InfoKind, CTy, AccessIndex, PatchImm,
1027 const auto *CTy = cast<DICompositeType>(BaseTy);
1028 assert(CTy->getTag() == dwarf::DW_TAG_enumeration_type);
1030 for (const auto Element : CTy->getElements()) {