Lines Matching refs:CTy
589 else if (auto *CTy = dyn_cast<DICompositeType>(Ty)) { in createTypeDIE() local
591 (Ty->getRawName() || CTy->getRawIdentifier())) { in createTypeDIE()
593 if (MDString *TypeId = CTy->getRawIdentifier()) in createTypeDIE()
594 DD->addDwarfTypeUnitType(getCU(), TypeId->getString(), TyDIE, CTy); in createTypeDIE()
596 finishNonUnitTypeDIE(TyDIE, CTy); in createTypeDIE()
599 constructTypeDIE(TyDIE, CTy); in createTypeDIE()
820 void DwarfUnit::constructTypeDIE(DIE &Buffer, const DISubroutineType *CTy) { in constructTypeDIE() argument
822 auto Elements = cast<DISubroutineType>(CTy)->getTypeArray(); in constructTypeDIE()
842 if (CTy->getCC() && CTy->getCC() != dwarf::DW_CC_normal) in constructTypeDIE()
844 CTy->getCC()); in constructTypeDIE()
846 if (CTy->isLValueReference()) in constructTypeDIE()
849 if (CTy->isRValueReference()) in constructTypeDIE()
874 void DwarfUnit::constructTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructTypeDIE() argument
876 StringRef Name = CTy->getName(); in constructTypeDIE()
878 uint64_t Size = CTy->getSizeInBits() >> 3; in constructTypeDIE()
883 constructArrayTypeDIE(Buffer, CTy); in constructTypeDIE()
886 constructEnumTypeDIE(Buffer, CTy); in constructTypeDIE()
896 Discriminator = CTy->getDiscriminator(); in constructTypeDIE()
910 addTemplateParams(Buffer, CTy->getTemplateParams()); in constructTypeDIE()
913 DINodeArray Elements = CTy->getElements(); in constructTypeDIE()
971 if (CTy->isAppleBlockExtension()) in constructTypeDIE()
974 if (CTy->getExportSymbols()) in constructTypeDIE()
981 if (auto *ContainingType = CTy->getVTableHolder()) in constructTypeDIE()
985 if (CTy->isObjcClassComplete()) in constructTypeDIE()
992 if (CTy->isTypePassByValue()) in constructTypeDIE()
994 else if (CTy->isTypePassByReference()) in constructTypeDIE()
1010 addAnnotation(Buffer, CTy->getAnnotations()); in constructTypeDIE()
1019 (!CTy->isForwardDecl() || Tag == dwarf::DW_TAG_enumeration_type)) in constructTypeDIE()
1021 else if (!CTy->isForwardDecl()) in constructTypeDIE()
1026 if (CTy->isForwardDecl()) in constructTypeDIE()
1030 addAccess(Buffer, CTy->getFlags()); in constructTypeDIE()
1033 if (!CTy->isForwardDecl()) in constructTypeDIE()
1034 addSourceLine(Buffer, CTy); in constructTypeDIE()
1037 unsigned RLang = CTy->getRuntimeLang(); in constructTypeDIE()
1043 if (uint32_t AlignInBytes = CTy->getAlignInBytes()) in constructTypeDIE()
1451 static bool hasVectorBeenPadded(const DICompositeType *CTy) { in hasVectorBeenPadded() argument
1452 assert(CTy && CTy->isVector() && "Composite type is not a vector"); in hasVectorBeenPadded()
1453 const uint64_t ActualSize = CTy->getSizeInBits(); in hasVectorBeenPadded()
1456 DIType *BaseTy = CTy->getBaseType(); in hasVectorBeenPadded()
1461 const DINodeArray Elements = CTy->getElements(); in hasVectorBeenPadded()
1477 void DwarfUnit::constructArrayTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructArrayTypeDIE() argument
1478 if (CTy->isVector()) { in constructArrayTypeDIE()
1480 if (hasVectorBeenPadded(CTy)) in constructArrayTypeDIE()
1482 CTy->getSizeInBits() / CHAR_BIT); in constructArrayTypeDIE()
1485 if (DIVariable *Var = CTy->getDataLocation()) { in constructArrayTypeDIE()
1488 } else if (DIExpression *Expr = CTy->getDataLocationExp()) { in constructArrayTypeDIE()
1496 if (DIVariable *Var = CTy->getAssociated()) { in constructArrayTypeDIE()
1499 } else if (DIExpression *Expr = CTy->getAssociatedExp()) { in constructArrayTypeDIE()
1507 if (DIVariable *Var = CTy->getAllocated()) { in constructArrayTypeDIE()
1510 } else if (DIExpression *Expr = CTy->getAllocatedExp()) { in constructArrayTypeDIE()
1518 if (auto *RankConst = CTy->getRankConst()) { in constructArrayTypeDIE()
1521 } else if (auto *RankExpr = CTy->getRankExp()) { in constructArrayTypeDIE()
1530 addType(Buffer, CTy->getBaseType()); in constructArrayTypeDIE()
1538 DINodeArray Elements = CTy->getElements(); in constructArrayTypeDIE()
1551 void DwarfUnit::constructEnumTypeDIE(DIE &Buffer, const DICompositeType *CTy) { in constructEnumTypeDIE() argument
1552 const DIType *DTy = CTy->getBaseType(); in constructEnumTypeDIE()
1557 if (DD->getDwarfVersion() >= 4 && (CTy->getFlags() & DINode::FlagEnumClass)) in constructEnumTypeDIE()
1561 auto *Context = CTy->getScope(); in constructEnumTypeDIE()
1564 DINodeArray Elements = CTy->getElements(); in constructEnumTypeDIE()
1847 void DwarfTypeUnit::finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) { in finishNonUnitTypeDIE() argument