15 #ifndef LLVM_DEBUGINFO_DICONTEXT_H
16 #define LLVM_DEBUGINFO_DICONTEXT_H
50 return !(*
this == RHS);
68 assert(Index < Frames.size());
73 assert(Index < Frames.size());
74 return &Frames[Index];
82 Frames.push_back(Frame);
160 bool DumpEH =
false,
bool SummarizeTypes =
false) = 0;
211 virtual std::unique_ptr<LoadedObjectInfo>
clone()
const = 0;
216 #endif // LLVM_DEBUGINFO_DICONTEXT_H
virtual bool getLoadedSectionContents(const object::SectionRef &Sec, StringRef &Data) const
If conveniently available, return the content of the given Section.
DILineInfo * getMutableFrame(unsigned Index)
LoadedObjectInfo()=default
bool operator==(const DILineInfo &RHS) const
bool operator<(const DILineInfo &RHS) const
void addFrame(const DILineInfo &Frame)
DINameKind
A DINameKind is passed to name search methods to specify a preference regarding the type of name reso...
virtual ~LoadedObjectInfo()=default
DILineInfo - a format-neutral container for source line information.
DIContextKind getKind() const
virtual DILineInfo getLineInfoForAddress(uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
uint32_t getNumberOfFrames() const
DILineInfoSpecifier - controls which fields of DILineInfo container should be filled with data...
DILineInfo getFrame(unsigned Index) const
DIContext(DIContextKind K)
DIInliningInfo - a format-neutral container for inlined code description.
DIDumpType
Selects which debug sections get dumped.
bool operator!=(const DILineInfo &RHS) const
DILineInfoSpecifier(FileLineInfoKind FLIKind=FileLineInfoKind::Default, FunctionNameKind FNKind=FunctionNameKind::None)
virtual uint64_t getSectionLoadAddress(const object::SectionRef &Sec) const =0
Obtain the Load Address of a section by SectionRef.
SmallVector< std::pair< uint64_t, DILineInfo >, 16 > DILineInfoTable
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
An inferface for inquiring the load address of a loaded object file to be used by the DIContext imple...
virtual std::unique_ptr< LoadedObjectInfo > clone() const =0
Obtain a copy of this LoadedObjectInfo.
virtual DILineInfoTable getLineInfoForAddressRange(uint64_t Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
DINameKind FunctionNameKind
virtual DIInliningInfo getInliningInfoForAddress(uint64_t Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This class implements an extremely fast bulk output stream that can only output to a stream...
virtual void dump(raw_ostream &OS, DIDumpType DumpType=DIDT_All, bool DumpEH=false, bool SummarizeTypes=false)=0
virtual ~DIContext()=default
StringRef - Represent a constant reference to a string, i.e.
DIGlobal - container for description of a global variable.
This is a value type class that represents a single section in the list of sections in the object fil...