Lines Matching defs:CTy
158 void CheckCompositeType(DIDerivedType *ParentTy, DICompositeType *CTy);
178 uint32_t GetFieldInfo(uint32_t InfoKind, DICompositeType *CTy,
231 DICompositeType *CTy) {
232 if (!CTy->getName().empty() || !ParentTy ||
236 auto [It, Inserted] = AnonRecords.try_emplace(CTy, ParentTy);
264 if (auto *CTy = dyn_cast<DICompositeType>(Ty))
265 return CheckCompositeType(ParentTy, CTy);
299 static uint32_t calcArraySize(const DICompositeType *CTy, uint32_t StartDim) {
300 DINodeArray Elements = CTy->getElements();
510 const auto *CTy = dyn_cast<DICompositeType>(CType);
511 assert(PTy && CTy && "ParentType or ChildType is null or not composite");
518 uint32_t CTyTag = CTy->getTag();
525 return PTy->getBaseType() == CTy->getBaseType();
533 return dyn_cast<DICompositeType>(stripQualifiers(Ty)) == CTy;
674 DICompositeType *CTy,
681 uint32_t Tag = CTy->getTag();
684 auto *EltTy = stripQualifiers(CTy->getBaseType());
685 PatchImm += AccessIndex * calcArraySize(CTy, 1) *
688 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
703 auto *EltTy = stripQualifiers(CTy->getBaseType());
704 return calcArraySize(CTy, 1) * (EltTy->getSizeInBits() >> 3);
706 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
725 if (CTy->getElements().size() != 1)
727 BaseTy = stripQualifiers(CTy->getBaseType());
729 auto *MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
758 auto *EltTy = stripQualifiers(CTy->getBaseType());
759 SizeInBits = calcArraySize(CTy, 1) * EltTy->getSizeInBits();
761 MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
789 auto *EltTy = stripQualifiers(CTy->getBaseType());
790 SizeInBits = calcArraySize(CTy, 1) * EltTy->getSizeInBits();
792 MemberTy = cast<DIDerivedType>(CTy->getElements()[AccessIndex]);
887 if (const auto *CTy = dyn_cast<DICompositeType>(Ty)) {
889 assert(CTy->getTag() == dwarf::DW_TAG_array_type);
892 FirstIndex += AccessIndex * calcArraySize(CTy, 1);
893 BaseTy = stripQualifiers(CTy->getBaseType());
894 CheckElemType = CTy->getElements().size() == 1;
901 CTy = dyn_cast<DICompositeType>(BaseTy);
902 if (!CTy) {
904 } else if (CTy->getTag() != dwarf::DW_TAG_array_type) {
908 FirstIndex += AccessIndex * calcArraySize(CTy, 0);
913 auto *CTy = dyn_cast<DICompositeType>(BaseTy);
914 if (!CTy) {
920 unsigned CTag = CTy->getTag();
922 TypeName = std::string(CTy->getName());
928 TypeMeta = CTy;
929 PatchImm += FirstIndex * (CTy->getSizeInBits() >> 3);
967 auto *CTy = cast<DICompositeType>(stripQualifiers(cast<DIType>(MDN)));
968 PatchImm = GetFieldInfo(InfoKind, CTy, AccessIndex, PatchImm,
1020 const auto *CTy = cast<DICompositeType>(BaseTy);
1021 assert(CTy->getTag() == dwarf::DW_TAG_enumeration_type);
1023 for (const auto Element : CTy->getElements()) {