Lines Matching defs:DTy
57 BTFTypeDerived::BTFTypeDerived(const DIDerivedType *DTy, unsigned Tag,
59 : DTy(DTy), NeedsFixup(NeedsFixup), Name(DTy->getName()) {
85 : DTy(nullptr), NeedsFixup(false), Name(Name) {
98 if (NeedsFixup || !DTy)
102 const DIType *ResolvedType = tryRemoveAtomicType(DTy->getBaseType());
477 : DTy(nullptr), Tag(Tag) {
483 BTFTypeTypeTag::BTFTypeTypeTag(const DIDerivedType *DTy, StringRef Tag)
484 : DTy(DTy), Tag(Tag) {
494 if (DTy) {
495 const DIType *ResolvedType = tryRemoveAtomicType(DTy->getBaseType());
631 int BTFDebug::genBTFTypeTags(const DIDerivedType *DTy, int BaseTypeId) {
633 DINodeArray Annots = DTy->getAnnotations();
659 TypeEntry = std::make_unique<BTFTypeTypeTag>(DTy, MDStrs[0]->getString());
808 void BTFDebug::visitDerivedType(const DIDerivedType *DTy, uint32_t &TypeId,
810 unsigned Tag = DTy->getTag();
813 return visitTypeEntry(DTy->getBaseType(), TypeId, CheckPointer,
823 const DIType *Base = DTy->getBaseType();
829 auto TypeEntry = std::make_unique<BTFTypeDerived>(DTy, Tag, true);
831 Fixup.push_back(std::make_pair(DTy, TypeEntry.get()));
832 TypeId = addType(std::move(TypeEntry), DTy);
839 int TmpTypeId = genBTFTypeTags(DTy, -1);
842 std::make_unique<BTFTypeDerived>(TmpTypeId, Tag, DTy->getName());
843 TypeId = addType(std::move(TypeDEntry), DTy);
845 auto TypeEntry = std::make_unique<BTFTypeDerived>(DTy, Tag, false);
846 TypeId = addType(std::move(TypeEntry), DTy);
851 auto TypeEntry = std::make_unique<BTFTypeDerived>(DTy, Tag, false);
852 TypeId = addType(std::move(TypeEntry), DTy);
854 processDeclAnnotations(DTy->getAnnotations(), TypeId, -1);
863 visitTypeEntry(DTy->getBaseType(), TempTypeId, true, false);
865 visitTypeEntry(DTy->getBaseType(), TempTypeId, CheckPointer, SeenPointer);
910 if (const auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
911 while (DTy) {
912 const DIType *BaseTy = DTy->getBaseType();
917 DTy = dyn_cast<DIDerivedType>(BaseTy);
919 if (CheckPointer && DTy->getTag() == dwarf::DW_TAG_pointer_type) {
942 else if (const auto *DTy = dyn_cast<DIDerivedType>(Ty))
943 visitDerivedType(DTy, TypeId, CheckPointer, SeenPointer);
961 while (auto *DTy = dyn_cast<DIDerivedType>(Ty)) {
962 auto Tag = DTy->getTag();
967 Ty = DTy->getBaseType();
1653 const DIDerivedType *DTy = TypeInfo.first;
1656 int TmpTypeId = genBTFTypeTags(DTy, StructTypeId);