Lines Matching defs:Die

214 void DwarfUnit::addFlag(DIE &Die, dwarf::Attribute Attribute) {
216 addAttribute(Die, Attribute, dwarf::DW_FORM_flag_present, DIEInteger(1));
218 addAttribute(Die, Attribute, dwarf::DW_FORM_flag, DIEInteger(1));
221 void DwarfUnit::addUInt(DIEValueList &Die, dwarf::Attribute Attribute,
227 addAttribute(Die, Attribute, *Form, DIEInteger(Integer));
235 void DwarfUnit::addSInt(DIEValueList &Die, dwarf::Attribute Attribute,
239 addAttribute(Die, Attribute, *Form, DIEInteger(Integer));
242 void DwarfUnit::addSInt(DIELoc &Die, std::optional<dwarf::Form> Form,
244 addSInt(Die, (dwarf::Attribute)0, Form, Integer);
247 void DwarfUnit::addString(DIE &Die, dwarf::Attribute Attribute,
253 addAttribute(Die, Attribute, dwarf::DW_FORM_string,
277 addAttribute(Die, Attribute, IxForm, DIEString(StringPoolEntry));
280 void DwarfUnit::addLabel(DIEValueList &Die, dwarf::Attribute Attribute,
282 addAttribute(Die, Attribute, Form, DIELabel(Label));
285 void DwarfUnit::addLabel(DIELoc &Die, dwarf::Form Form, const MCSymbol *Label) {
286 addLabel(Die, (dwarf::Attribute)0, Form, Label);
289 void DwarfUnit::addSectionOffset(DIE &Die, dwarf::Attribute Attribute,
291 addUInt(Die, Attribute, DD->getDwarfSectionOffsetForm(), Integer);
307 void DwarfUnit::addPoolOpAddress(DIEValueList &Die, const MCSymbol *Label) {
318 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_addrx);
319 addUInt(Die, dwarf::DW_FORM_addrx, Index);
321 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_GNU_addr_index);
322 addUInt(Die, dwarf::DW_FORM_GNU_addr_index, Index);
326 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_const4u);
327 addLabelDelta(Die, (dwarf::Attribute)0, Label, Base);
328 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_plus);
332 void DwarfUnit::addOpAddress(DIELoc &Die, const MCSymbol *Sym) {
334 addPoolOpAddress(Die, Sym);
339 addPoolOpAddress(Die, Sym);
343 addUInt(Die, dwarf::DW_FORM_data1, dwarf::DW_OP_addr);
344 addLabel(Die, dwarf::DW_FORM_addr, Sym);
347 void DwarfUnit::addLabelDelta(DIEValueList &Die, dwarf::Attribute Attribute,
349 addAttribute(Die, Attribute, dwarf::DW_FORM_data4,
353 void DwarfUnit::addDIEEntry(DIE &Die, dwarf::Attribute Attribute, DIE &Entry) {
354 addDIEEntry(Die, Attribute, DIEEntry(Entry));
357 void DwarfUnit::addDIETypeSignature(DIE &Die, uint64_t Signature) {
362 addFlag(Die, dwarf::DW_AT_declaration);
364 addAttribute(Die, dwarf::DW_AT_signature, dwarf::DW_FORM_ref_sig8,
368 void DwarfUnit::addDIEEntry(DIE &Die, dwarf::Attribute Attribute,
370 const DIEUnit *CU = Die.getUnit();
373 // We assume that Die belongs to this CU, if it is not linked to any CU yet.
379 addAttribute(Die, Attribute,
385 DIE &Die = Parent.addChild(DIE::get(DIEValueAllocator, Tag));
387 insertDIE(N, &Die);
388 return Die;
391 void DwarfUnit::addBlock(DIE &Die, dwarf::Attribute Attribute, DIELoc *Loc) {
394 addAttribute(Die, Attribute, Loc->BestForm(DD->getDwarfVersion()), Loc);
397 void DwarfUnit::addBlock(DIE &Die, dwarf::Attribute Attribute, dwarf::Form Form,
401 addAttribute(Die, Attribute, Form, Block);
404 void DwarfUnit::addBlock(DIE &Die, dwarf::Attribute Attribute,
406 addBlock(Die, Attribute, Block->BestForm(), Block);
409 void DwarfUnit::addSourceLine(DIE &Die, unsigned Line, const DIFile *File) {
414 addUInt(Die, dwarf::DW_AT_decl_file, std::nullopt, FileID);
415 addUInt(Die, dwarf::DW_AT_decl_line, std::nullopt, Line);
418 void DwarfUnit::addSourceLine(DIE &Die, const DILocalVariable *V) {
421 addSourceLine(Die, V->getLine(), V->getFile());
424 void DwarfUnit::addSourceLine(DIE &Die, const DIGlobalVariable *G) {
427 addSourceLine(Die, G->getLine(), G->getFile());
430 void DwarfUnit::addSourceLine(DIE &Die, const DISubprogram *SP) {
433 addSourceLine(Die, SP->getLine(), SP->getFile());
436 void DwarfUnit::addSourceLine(DIE &Die, const DILabel *L) {
439 addSourceLine(Die, L->getLine(), L->getFile());
442 void DwarfUnit::addSourceLine(DIE &Die, const DIType *Ty) {
445 addSourceLine(Die, Ty->getLine(), Ty->getFile());
448 void DwarfUnit::addSourceLine(DIE &Die, const DIObjCProperty *Ty) {
451 addSourceLine(Die, Ty->getLine(), Ty->getFile());
454 void DwarfUnit::addConstantFPValue(DIE &Die, const ConstantFP *CFP) {
456 addConstantValue(Die, CFP->getValueAPF().bitcastToAPInt(), true);
459 void DwarfUnit::addConstantValue(DIE &Die, const ConstantInt *CI,
461 addConstantValue(Die, CI->getValue(), Ty);
464 void DwarfUnit::addConstantValue(DIE &Die, uint64_t Val, const DIType *Ty) {
465 addConstantValue(Die, DD->isUnsignedDIType(Ty), Val);
468 void DwarfUnit::addConstantValue(DIE &Die, bool Unsigned, uint64_t Val) {
471 addUInt(Die, dwarf::DW_AT_const_value,
475 void DwarfUnit::addConstantValue(DIE &Die, const APInt &Val, const DIType *Ty) {
476 addConstantValue(Die, Val, DD->isUnsignedDIType(Ty));
479 void DwarfUnit::addConstantValue(DIE &Die, const APInt &Val, bool Unsigned) {
482 addConstantValue(Die, Unsigned,
505 addBlock(Die, dwarf::DW_AT_const_value, Block);
508 void DwarfUnit::addLinkageName(DIE &Die, StringRef LinkageName) {
510 addString(Die,
527 void DwarfUnit::addThrownTypes(DIE &Die, DINodeArray ThrownTypes) {
529 DIE &TT = createAndAddDIE(dwarf::DW_TAG_thrown_type, Die);
534 void DwarfUnit::addAccess(DIE &Die, DINode::DIFlags Flags) {
536 addUInt(Die, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
539 addUInt(Die, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
542 addUInt(Die, dwarf::DW_AT_accessibility, dwarf::DW_FORM_data1,
1865 void DwarfUnit::addSectionDelta(DIE &Die, dwarf::Attribute Attribute,
1867 addAttribute(Die, Attribute, DD->getDwarfSectionOffsetForm(),
1871 void DwarfUnit::addSectionLabel(DIE &Die, dwarf::Attribute Attribute,
1874 addLabel(Die, Attribute, DD->getDwarfSectionOffsetForm(), Label);
1876 addSectionDelta(Die, Attribute, Label, Sec);
1885 void DwarfTypeUnit::addGlobalName(StringRef Name, const DIE &Die,
1890 void DwarfTypeUnit::addGlobalTypeImpl(const DIType *Ty, const DIE &Die,