Lines Matching full:die

34 class DIE;  variable
59 StringMap<const DIE *> GlobalNames;
62 StringMap<const DIE *> GlobalTypes;
80 DenseMap<const DILocalScope *, DIE *> LexicalBlockDIEs;
83 DenseMap<const DILocalScope *, DIE *> AbstractLocalScopeDIEs;
102 DIE &VariableDie);
106 DIE &VariableDie);
110 DIE &VariableDie);
114 DIE &VariableDie);
118 DIE &VariableDie);
124 DenseMap<const DILocalScope *, DIE *> &getAbstractScopeDIEs() { in getAbstractScopeDIEs()
136 void finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) override;
157 /// Apply the DW_AT_stmt_list from this compile unit to the specified DIE.
158 void applyStmtList(DIE &D);
174 DIE *Die = nullptr; member
179 /// Get or create global variable DIE.
180 DIE *
184 DIE *getOrCreateCommonBlock(const DICommonBlock *CB,
187 void addLocationAttribute(DIE *ToDIE, const DIGlobalVariable *GV,
192 void addLabelAddress(DIE &Die, dwarf::Attribute Attribute,
197 void addLocalLabelAddress(DIE &Die, dwarf::Attribute Attribute,
207 void attachLowHighPC(DIE &D, const MCSymbol *Begin, const MCSymbol *End);
209 /// Find DIE for the given subprogram and attach appropriate
213 DIE &updateSubprogramScopeDIE(const DISubprogram *SP);
215 void constructScopeDIE(LexicalScope *Scope, DIE &ParentScopeDIE);
219 void addScopeRangeList(DIE &ScopeDIE, SmallVector<RangeSpan, 2> Range);
221 void attachRangesOrLowHighPC(DIE &D, SmallVector<RangeSpan, 2> Ranges);
223 void attachRangesOrLowHighPC(DIE &D,
227 /// DIE to represent this concrete inlined copy of the function.
228 DIE *constructInlinedScopeDIE(LexicalScope *Scope, DIE &ParentScopeDIE);
232 DIE *constructLexicalScopeDIE(LexicalScope *Scope);
234 /// Get a DIE for the given DILexicalBlock.
235 /// Note that this function assumes that the DIE has been already created
237 DIE *getLexicalBlockDIE(const DILexicalBlock *LB);
239 /// Construct a DIE for the given DbgVariable.
240 DIE *constructVariableDIE(DbgVariable &DV, bool Abstract = false);
242 /// Convenience overload which writes the DIE pointer into an out variable
244 DIE *constructVariableDIE(DbgVariable &DV, const LexicalScope &Scope,
245 DIE *&ObjectPointer);
247 /// Construct a DIE for the given DbgLabel.
248 DIE *constructLabelDIE(DbgLabel &DL, const LexicalScope &Scope);
252 /// Construct a DIE for a given scope.
254 DIE *getOrCreateContextDIE(const DIScope *Ty) override;
256 /// Construct a DIE for this subprogram scope.
257 DIE &constructSubprogramScopeDIE(const DISubprogram *Sub,
260 DIE *createAndAddScopeChildren(LexicalScope *Scope, DIE &ScopeDIE);
277 /// Construct a call site entry DIE describing a call within \p Scope to a
284 DIE &constructCallSiteEntryDIE(DIE &ScopeDIE, const DISubprogram *CalleeSP,
291 void constructCallSiteParmEntryDIEs(DIE &CallSiteDIE,
294 /// Get or create a DIE for an imported entity.
295 DIE *getOrCreateImportedEntityDIE(const DIImportedEntity *IE);
296 DIE *constructImportedEntityDIE(const DIImportedEntity *IE);
323 /// Add the DW_AT_addr_base attribute to the unit DIE.
331 void addGlobalName(StringRef Name, const DIE &Die,
338 void addGlobalTypeImpl(const DIType *Ty, const DIE &Die,
344 const StringMap<const DIE *> &getGlobalNames() const { return GlobalNames; } in getGlobalNames()
345 const StringMap<const DIE *> &getGlobalTypes() const { return GlobalTypes; } in getGlobalTypes()
349 void addVariableAddress(const DbgVariable &DV, DIE &Die,
351 /// Add an address attribute to a die based on the location provided.
352 void addAddress(DIE &Die, dwarf::Attribute Attribute,
358 /// location. Add the DWARF information to the die.
359 void addComplexAddress(const DIExpression *DIExpr, DIE &Die,
364 void addLocationList(DIE &Die, dwarf::Attribute Attribute, unsigned Index);
369 DIE &VariableDie);
372 void addExpr(DIELoc &Die, dwarf::Form Form, const MCExpr *Expr);
375 DIE &SPDie);
377 void applyLabelAttributes(const DbgLabel &Label, DIE &LabelDie);
391 void addBaseTypeRef(DIEValueList &Die, int64_t Idx);