Lines Matching refs:CTy
586 if (auto *CTy = dyn_cast<DICompositeType>(Ty)) { in createTypeDIE() local
588 (Ty->getRawName() || CTy->getRawIdentifier())) { in createTypeDIE()
590 if (MDString *TypeId = CTy->getRawIdentifier()) { in createTypeDIE()
592 DD->addDwarfTypeUnitType(getCU(), TypeId->getString(), TyDIE, CTy); in createTypeDIE()
595 finishNonUnitTypeDIE(TyDIE, CTy); in createTypeDIE()
599 construct(CTy); in createTypeDIE()
856 void DwarfUnit::constructTypeDIE(DIE &Buffer, const DISubroutineType *CTy) { in constructTypeDIE() argument
858 auto Elements = cast<DISubroutineType>(CTy)->getTypeArray(); in constructTypeDIE()
875 if (CTy->getCC() && CTy->getCC() != dwarf::DW_CC_normal) in constructTypeDIE()
877 CTy->getCC()); in constructTypeDIE()
879 if (CTy->isLValueReference()) in constructTypeDIE()
882 if (CTy->isRValueReference()) in constructTypeDIE()
907 void DwarfUnit::constructTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructTypeDIE() argument
909 StringRef Name = CTy->getName(); in constructTypeDIE()
911 uint64_t Size = CTy->getSizeInBits() >> 3; in constructTypeDIE()
916 constructArrayTypeDIE(Buffer, CTy); in constructTypeDIE()
919 constructEnumTypeDIE(Buffer, CTy); in constructTypeDIE()
929 Discriminator = CTy->getDiscriminator(); in constructTypeDIE()
943 addTemplateParams(Buffer, CTy->getTemplateParams()); in constructTypeDIE()
946 DINodeArray Elements = CTy->getElements(); in constructTypeDIE()
1006 if (CTy->isAppleBlockExtension()) in constructTypeDIE()
1009 if (CTy->getExportSymbols()) in constructTypeDIE()
1016 if (auto *ContainingType = CTy->getVTableHolder()) in constructTypeDIE()
1020 if (CTy->isObjcClassComplete()) in constructTypeDIE()
1027 if (CTy->isTypePassByValue()) in constructTypeDIE()
1029 else if (CTy->isTypePassByReference()) in constructTypeDIE()
1045 addAnnotation(Buffer, CTy->getAnnotations()); in constructTypeDIE()
1054 (!CTy->isForwardDecl() || Tag == dwarf::DW_TAG_enumeration_type)) in constructTypeDIE()
1056 else if (!CTy->isForwardDecl()) in constructTypeDIE()
1061 if (CTy->isForwardDecl()) in constructTypeDIE()
1065 addAccess(Buffer, CTy->getFlags()); in constructTypeDIE()
1068 if (!CTy->isForwardDecl()) in constructTypeDIE()
1069 addSourceLine(Buffer, CTy); in constructTypeDIE()
1072 unsigned RLang = CTy->getRuntimeLang(); in constructTypeDIE()
1078 if (uint32_t AlignInBytes = CTy->getAlignInBytes()) in constructTypeDIE()
1484 static bool hasVectorBeenPadded(const DICompositeType *CTy) { in hasVectorBeenPadded() argument
1485 assert(CTy && CTy->isVector() && "Composite type is not a vector"); in hasVectorBeenPadded()
1486 const uint64_t ActualSize = CTy->getSizeInBits(); in hasVectorBeenPadded()
1489 DIType *BaseTy = CTy->getBaseType(); in hasVectorBeenPadded()
1494 const DINodeArray Elements = CTy->getElements(); in hasVectorBeenPadded()
1510 void DwarfUnit::constructArrayTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructArrayTypeDIE() argument
1511 if (CTy->isVector()) { in constructArrayTypeDIE()
1513 if (hasVectorBeenPadded(CTy)) in constructArrayTypeDIE()
1515 CTy->getSizeInBits() / CHAR_BIT); in constructArrayTypeDIE()
1518 if (DIVariable *Var = CTy->getDataLocation()) { in constructArrayTypeDIE()
1521 } else if (DIExpression *Expr = CTy->getDataLocationExp()) { in constructArrayTypeDIE()
1529 if (DIVariable *Var = CTy->getAssociated()) { in constructArrayTypeDIE()
1532 } else if (DIExpression *Expr = CTy->getAssociatedExp()) { in constructArrayTypeDIE()
1540 if (DIVariable *Var = CTy->getAllocated()) { in constructArrayTypeDIE()
1543 } else if (DIExpression *Expr = CTy->getAllocatedExp()) { in constructArrayTypeDIE()
1551 if (auto *RankConst = CTy->getRankConst()) { in constructArrayTypeDIE()
1554 } else if (auto *RankExpr = CTy->getRankExp()) { in constructArrayTypeDIE()
1563 addType(Buffer, CTy->getBaseType()); in constructArrayTypeDIE()
1571 DINodeArray Elements = CTy->getElements(); in constructArrayTypeDIE()
1584 void DwarfUnit::constructEnumTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructEnumTypeDIE() argument
1585 const DIType *DTy = CTy->getBaseType(); in constructEnumTypeDIE()
1590 if (DD->getDwarfVersion() >= 4 && (CTy->getFlags() & DINode::FlagEnumClass)) in constructEnumTypeDIE()
1594 auto *Context = CTy->getScope(); in constructEnumTypeDIE()
1597 DINodeArray Elements = CTy->getElements(); in constructEnumTypeDIE()
1891 void DwarfTypeUnit::finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) { in finishNonUnitTypeDIE() argument