Lines Matching refs:SP
430 void DwarfUnit::addSourceLine(DIE &Die, const DISubprogram *SP) { in addSourceLine() argument
431 assert(SP); in addSourceLine()
433 addSourceLine(Die, SP->getLine(), SP->getFile()); in addSourceLine()
553 if (auto *SP = dyn_cast<DISubprogram>(Context)) in getOrCreateContextDIE() local
554 return getOrCreateSubprogramDIE(SP); in getOrCreateContextDIE()
950 if (auto *SP = dyn_cast<DISubprogram>(Element)) in constructTypeDIE() local
951 getOrCreateSubprogramDIE(SP); in constructTypeDIE()
1187 DIE *DwarfUnit::getOrCreateSubprogramDIE(const DISubprogram *SP, bool Minimal) { in getOrCreateSubprogramDIE() argument
1192 Minimal ? &getUnitDie() : getOrCreateContextDIE(SP->getScope()); in getOrCreateSubprogramDIE()
1194 if (DIE *SPDie = getDIE(SP)) in getOrCreateSubprogramDIE()
1197 if (auto *SPDecl = SP->getDeclaration()) { in getOrCreateSubprogramDIE()
1207 DIE &SPDie = createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE, SP); in getOrCreateSubprogramDIE()
1211 if (SP->isDefinition()) in getOrCreateSubprogramDIE()
1215 ->applySubprogramAttributes(SP, SPDie); in getOrCreateSubprogramDIE()
1219 bool DwarfUnit::applySubprogramDefinitionAttributes(const DISubprogram *SP, in applySubprogramDefinitionAttributes() argument
1223 if (auto *SPDecl = SP->getDeclaration()) { in applySubprogramDefinitionAttributes()
1227 DefinitionArgs = SP->getType()->getTypeArray(); in applySubprogramDefinitionAttributes()
1241 unsigned DefID = getOrCreateSourceID(SP->getFile()); in applySubprogramDefinitionAttributes()
1245 if (SP->getLine() != SPDecl->getLine()) in applySubprogramDefinitionAttributes()
1246 addUInt(SPDie, dwarf::DW_AT_decl_line, std::nullopt, SP->getLine()); in applySubprogramDefinitionAttributes()
1251 addTemplateParams(SPDie, SP->getTemplateParams()); in applySubprogramDefinitionAttributes()
1254 StringRef LinkageName = SP->getLinkageName(); in applySubprogramDefinitionAttributes()
1260 (DD->useAllLinkageNames() || DU->getAbstractScopeDIEs().lookup(SP))) in applySubprogramDefinitionAttributes()
1272 void DwarfUnit::applySubprogramAttributes(const DISubprogram *SP, DIE &SPDie, in applySubprogramAttributes() argument
1279 if (applySubprogramDefinitionAttributes(SP, SPDie, SkipSPAttributes)) in applySubprogramAttributes()
1283 if (!SP->getName().empty()) in applySubprogramAttributes()
1284 addString(SPDie, dwarf::DW_AT_name, SP->getName()); in applySubprogramAttributes()
1286 addAnnotation(SPDie, SP->getAnnotations()); in applySubprogramAttributes()
1289 addSourceLine(SPDie, SP); in applySubprogramAttributes()
1297 if (SP->isPrototyped() && dwarf::isC((dwarf::SourceLanguage)getLanguage())) in applySubprogramAttributes()
1300 if (SP->isObjCDirect()) in applySubprogramAttributes()
1305 if (const DISubroutineType *SPTy = SP->getType()) { in applySubprogramAttributes()
1320 unsigned VK = SP->getVirtuality(); in applySubprogramAttributes()
1323 if (SP->getVirtualIndex() != -1u) { in applySubprogramAttributes()
1326 addUInt(*Block, dwarf::DW_FORM_udata, SP->getVirtualIndex()); in applySubprogramAttributes()
1329 ContainingTypeMap.insert(std::make_pair(&SPDie, SP->getContainingType())); in applySubprogramAttributes()
1332 if (!SP->isDefinition()) { in applySubprogramAttributes()
1340 addThrownTypes(SPDie, SP->getThrownTypes()); in applySubprogramAttributes()
1342 if (SP->isArtificial()) in applySubprogramAttributes()
1345 if (!SP->isLocalToUnit()) in applySubprogramAttributes()
1349 if (SP->isOptimized()) in applySubprogramAttributes()
1356 if (SP->isLValueReference()) in applySubprogramAttributes()
1359 if (SP->isRValueReference()) in applySubprogramAttributes()
1362 if (SP->isNoReturn()) in applySubprogramAttributes()
1365 addAccess(SPDie, SP->getFlags()); in applySubprogramAttributes()
1367 if (SP->isExplicit()) in applySubprogramAttributes()
1370 if (SP->isMainSubprogram()) in applySubprogramAttributes()
1372 if (SP->isPure()) in applySubprogramAttributes()
1374 if (SP->isElemental()) in applySubprogramAttributes()
1376 if (SP->isRecursive()) in applySubprogramAttributes()
1379 if (!SP->getTargetFuncName().empty()) in applySubprogramAttributes()
1380 addString(SPDie, dwarf::DW_AT_trampoline, SP->getTargetFuncName()); in applySubprogramAttributes()
1382 if (DD->getDwarfVersion() >= 5 && SP->isDeleted()) in applySubprogramAttributes()