Lines Matching refs:DIE
59 DIE *IndexTyDie = nullptr;
63 DenseMap<const MDNode *, DIE *> MDNodeToDieMap;
74 DenseMap<DIE *, const DINode *> ContainingTypeMap;
79 bool applySubprogramDefinitionAttributes(const DISubprogram *SP, DIE &SPDie, bool Minimal);
127 virtual void addGlobalName(StringRef Name, const DIE &Die,
131 virtual void addGlobalTypeImpl(const DIType *Ty, const DIE &Die,
134 void addGlobalType(const DIType *Ty, const DIE &Die, const DIScope *Context);
141 DIE *getDIE(const DINode *D) const;
151 void insertDIE(const DINode *Desc, DIE *D);
153 void insertDIE(DIE *D);
156 void addFlag(DIE &Die, dwarf::Attribute Attribute);
176 void addString(DIE &Die, dwarf::Attribute Attribute, StringRef Str);
185 void addSectionOffset(DIE &Die, dwarf::Attribute Attribute, uint64_t Integer);
197 void addDIEEntry(DIE &Die, dwarf::Attribute Attribute, DIE &Entry);
200 void addDIEEntry(DIE &Die, dwarf::Attribute Attribute, DIEEntry Entry);
203 void addDIETypeSignature(DIE &Die, uint64_t Signature);
206 void addBlock(DIE &Die, dwarf::Attribute Attribute, DIELoc *Loc);
209 void addBlock(DIE &Die, dwarf::Attribute Attribute, DIEBlock *Block);
210 void addBlock(DIE &Die, dwarf::Attribute Attribute, dwarf::Form Form,
214 void addSourceLine(DIE &Die, unsigned Line, const DIFile *File);
215 void addSourceLine(DIE &Die, const DILocalVariable *V);
216 void addSourceLine(DIE &Die, const DIGlobalVariable *G);
217 void addSourceLine(DIE &Die, const DISubprogram *SP);
218 void addSourceLine(DIE &Die, const DILabel *L);
219 void addSourceLine(DIE &Die, const DIType *Ty);
220 void addSourceLine(DIE &Die, const DIObjCProperty *Ty);
223 void addConstantValue(DIE &Die, const ConstantInt *CI, const DIType *Ty);
224 void addConstantValue(DIE &Die, const APInt &Val, const DIType *Ty);
225 void addConstantValue(DIE &Die, const APInt &Val, bool Unsigned);
226 void addConstantValue(DIE &Die, uint64_t Val, const DIType *Ty);
227 void addConstantValue(DIE &Die, bool Unsigned, uint64_t Val);
230 void addConstantFPValue(DIE &Die, const ConstantFP *CFP);
233 void addLinkageName(DIE &Die, StringRef LinkageName);
236 void addTemplateParams(DIE &Buffer, DINodeArray TParams);
239 void addThrownTypes(DIE &Die, DINodeArray ThrownTypes);
242 void addAccess(DIE &Die, DINode::DIFlags Flags);
248 void addType(DIE &Entity, const DIType *Ty,
251 DIE *getOrCreateNameSpace(const DINamespace *NS);
252 DIE *getOrCreateModule(const DIModule *M);
253 DIE *getOrCreateSubprogramDIE(const DISubprogram *SP, bool Minimal = false);
255 void applySubprogramAttributes(const DISubprogram *SP, DIE &SPDie,
259 DIE *createTypeDIE(const DIScope *Context, DIE &ContextDIE, const DIType *Ty);
262 virtual DIE *getOrCreateTypeDIE(const MDNode *TyNode);
265 virtual DIE *getOrCreateContextDIE(const DIScope *Context);
271 void constructSubprogramArguments(DIE &Buffer, DITypeRefArray Args);
275 DIE &createAndAddDIE(dwarf::Tag Tag, DIE &Parent, const DINode *N = nullptr);
302 void constructTypeDIE(DIE &Buffer, const DICompositeType *CTy);
305 void addSectionDelta(DIE &Die, dwarf::Attribute Attribute, const MCSymbol *Hi,
309 void addSectionLabel(DIE &Die, dwarf::Attribute Attribute,
313 void addAnnotation(DIE &Buffer, DINodeArray Annotations);
316 DIE *createTypeDIE(const DICompositeType *Ty);
322 DIE *getOrCreateStaticMemberDIE(const DIDerivedType *DT);
332 void constructTypeDIE(DIE &Buffer, const DIBasicType *BTy);
333 void constructTypeDIE(DIE &Buffer, const DIStringType *BTy);
334 void constructTypeDIE(DIE &Buffer, const DIDerivedType *DTy);
335 void constructTypeDIE(DIE &Buffer, const DISubroutineType *CTy);
336 void constructSubrangeDIE(DIE &Buffer, const DISubrange *SR, DIE *IndexTy);
337 void constructGenericSubrangeDIE(DIE &Buffer, const DIGenericSubrange *SR,
338 DIE *IndexTy);
339 void constructArrayTypeDIE(DIE &Buffer, const DICompositeType *CTy);
340 void constructEnumTypeDIE(DIE &Buffer, const DICompositeType *CTy);
341 DIE &constructMemberDIE(DIE &Buffer, const DIDerivedType *DT);
342 void constructTemplateTypeParameterDIE(DIE &Buffer,
344 void constructTemplateValueParameterDIE(DIE &Buffer,
353 DIE *getIndexTyDie();
356 void setIndexTyDie(DIE *D) { IndexTyDie = D; } in setIndexTyDie()
358 virtual void finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) = 0;
363 const DIE &TyDIE);
375 const DIE *Ty;
381 void finishNonUnitTypeDIE(DIE& D, const DICompositeType *CTy) override;
392 void setType(const DIE *Ty) { this->Ty = Ty; } in setType()
400 void addGlobalName(StringRef Name, const DIE &Die,
402 void addGlobalTypeImpl(const DIType *Ty, const DIE &Die,