LLVM 20.0.0git
Classes | Typedefs | Enumerations | Functions | Variables
llvm::logicalview Namespace Reference

Classes

class  LVBinaryReader
 
class  LVCodeViewReader
 
class  LVCompare
 
struct  LVCounter
 
class  LVDoubleMap
 
class  LVDWARFReader
 
class  LVElement
 
class  LVLine
 
class  LVLineAssembler
 
class  LVLineDebug
 
class  LVLocation
 
class  LVLocationSymbol
 
class  LVLogicalVisitor
 
class  LVObject
 
class  LVOperation
 
class  LVOptions
 
class  LVPatterns
 
class  LVProperties
 
class  LVRange
 
class  LVRangeEntry
 
class  LVReader
 The logical reader owns of all the logical elements created during the debug information parsing. More...
 
class  LVReaderHandler
 
class  LVScope
 
class  LVScopeAggregate
 
class  LVScopeAlias
 
class  LVScopeArray
 
class  LVScopeCompileUnit
 
class  LVScopeEnumeration
 
class  LVScopeFormalPack
 
class  LVScopeFunction
 
class  LVScopeFunctionInlined
 
class  LVScopeFunctionType
 
class  LVScopeNamespace
 
class  LVScopeRoot
 
class  LVScopeTemplatePack
 
struct  LVShared
 
class  LVSplitContext
 
class  LVStringPool
 
class  LVSymbol
 
class  LVSymbolTable
 
struct  LVSymbolTableEntry
 
class  LVSymbolVisitor
 
class  LVSymbolVisitorDelegate
 
class  LVType
 
class  LVTypeDefinition
 
class  LVTypeEnumerator
 
class  LVTypeImport
 
class  LVTypeParam
 
class  LVTypeSubrange
 
class  LVTypeVisitor
 

Typedefs

using LVPassEntry = std::tuple< LVReader *, LVElement *, LVComparePass >
 
using LVPassTable = std::vector< LVPassEntry >
 
using LVElementKindSet = std::set< LVElementKind >
 
using LVElementDispatch = std::map< LVElementKind, LVElementGetFunction >
 
using LVElementRequest = std::vector< LVElementGetFunction >
 
using LVLineKindSet = std::set< LVLineKind >
 
using LVLineDispatch = std::map< LVLineKind, LVLineGetFunction >
 
using LVLineRequest = std::vector< LVLineGetFunction >
 
using LVLineRange = std::pair< LVLine *, LVLine * >
 
using LVSectionIndex = uint64_t
 
using LVAddress = uint64_t
 
using LVHalf = uint16_t
 
using LVLevel = uint32_t
 
using LVOffset = uint64_t
 
using LVSigned = int64_t
 
using LVUnsigned = uint64_t
 
using LVSmall = uint8_t
 
using LVElementSetFunction = void(LVElement::*)()
 
using LVElementGetFunction = bool(LVElement::*)() const
 
using LVLineSetFunction = void(LVLine::*)()
 
using LVLineGetFunction = bool(LVLine::*)() const
 
using LVObjectSetFunction = void(LVObject::*)()
 
using LVObjectGetFunction = bool(LVObject::*)() const
 
using LVScopeSetFunction = void(LVScope::*)()
 
using LVScopeGetFunction = bool(LVScope::*)() const
 
using LVSymbolSetFunction = void(LVSymbol::*)()
 
using LVSymbolGetFunction = bool(LVSymbol::*)() const
 
using LVTypeSetFunction = void(LVType::*)()
 
using LVTypeGetFunction = bool(LVType::*)() const
 
using LVElements = SmallVector< LVElement *, 8 >
 
using LVLines = SmallVector< LVLine *, 8 >
 
using LVLocations = SmallVector< LVLocation *, 8 >
 
using LVOperations = SmallVector< LVOperation *, 8 >
 
using LVScopes = SmallVector< LVScope *, 8 >
 
using LVSymbols = SmallVector< LVSymbol *, 8 >
 
using LVTypes = SmallVector< LVType *, 8 >
 
using LVOffsets = SmallVector< LVOffset, 8 >
 
using LVValidLocation = bool(LVLocation::*)()
 
using LVOffsetSet = std::set< uint64_t >
 
using LVAttributeKindSet = std::set< LVAttributeKind >
 
using LVCompareKindSet = std::set< LVCompareKind >
 
using LVOutputKindSet = std::set< LVOutputKind >
 
using LVPrintKindSet = std::set< LVPrintKind >
 
using LVReportKindSet = std::set< LVReportKind >
 
using LVWarningKindSet = std::set< LVWarningKind >
 
using LVInternalKindSet = std::set< LVInternalKind >
 
using LVAddressRange = std::pair< LVAddress, LVAddress >
 
using LVRangeEntries = std::vector< LVRangeEntry >
 
using LVNameInfo = std::pair< LVAddress, uint64_t >
 
using LVPublicNames = std::map< LVScope *, LVNameInfo >
 
using LVPublicAddresses = std::map< LVAddress, LVNameInfo >
 
using LVScopeKindSet = std::set< LVScopeKind >
 
using LVScopeDispatch = std::map< LVScopeKind, LVScopeGetFunction >
 
using LVScopeRequest = std::vector< LVScopeGetFunction >
 
using LVOffsetElementMap = std::map< LVOffset, LVElement * >
 
using LVOffsetLinesMap = std::map< LVOffset, LVLines >
 
using LVOffsetLocationsMap = std::map< LVOffset, LVLocations >
 
using LVOffsetSymbolMap = std::map< LVOffset, LVSymbol * >
 
using LVTagOffsetsMap = std::map< dwarf::Tag, LVOffsets >
 
using LVSortValue = int
 
using LVSortFunction = LVSortValue(*)(const LVObject *LHS, const LVObject *RHS)
 
using LVStringRefs = std::vector< StringRef >
 
using LVLexicalComponent = std::tuple< StringRef, StringRef >
 
using LVLexicalIndex = std::tuple< LVStringRefs::size_type, LVStringRefs::size_type >
 
using LVSymbolKindSet = std::set< LVSymbolKind >
 
using LVSymbolDispatch = std::map< LVSymbolKind, LVSymbolGetFunction >
 
using LVSymbolRequest = std::vector< LVSymbolGetFunction >
 
using LVTypeKindSelection = std::set< LVTypeKind >
 
using LVTypeDispatch = std::map< LVTypeKind, LVTypeGetFunction >
 
using LVTypeRequest = std::vector< LVTypeGetFunction >
 
using LVReaders = std::vector< std::unique_ptr< LVReader > >
 
using ArgVector = std::vector< std::string >
 
using PdbOrObj = PointerUnion< object::ObjectFile *, pdb::PDBFile * >
 
using LVNames = SmallVector< StringRef, 16 >
 
using AttributeSpec = DWARFAbbreviationDeclaration::AttributeSpec
 
using LVLineRecords = std::vector< TypeIndex >
 
using LVTypeKinds = std::set< TypeLeafKind >
 
using LVSymbolKinds = std::set< SymbolKind >
 

Enumerations

enum class  LVSubclassID : unsigned char {
  LV_ELEMENT , LV_LINE_FIRST , LV_LINE , LV_LINE_DEBUG ,
  LV_LINE_ASSEMBLER , LV_LINE_LAST , lV_SCOPE_FIRST , LV_SCOPE ,
  LV_SCOPE_AGGREGATE , LV_SCOPE_ALIAS , LV_SCOPE_ARRAY , LV_SCOPE_COMPILE_UNIT ,
  LV_SCOPE_ENUMERATION , LV_SCOPE_FORMAL_PACK , LV_SCOPE_FUNCTION , LV_SCOPE_FUNCTION_INLINED ,
  LV_SCOPE_FUNCTION_TYPE , LV_SCOPE_NAMESPACE , LV_SCOPE_ROOT , LV_SCOPE_TEMPLATE_PACK ,
  LV_SCOPE_LAST , LV_SYMBOL_FIRST , LV_SYMBOL , LV_SYMBOL_LAST ,
  LV_TYPE_FIRST , LV_TYPE , LV_TYPE_DEFINITION , LV_TYPE_ENUMERATOR ,
  LV_TYPE_IMPORT , LV_TYPE_PARAM , LV_TYPE_SUBRANGE , LV_TYPE_LAST
}
 
enum class  LVElementKind { Discarded , Global , Optimized , LastEntry }
 
enum class  LVLineKind {
  IsBasicBlock , IsDiscriminator , IsEndSequence , IsEpilogueBegin ,
  IsLineDebug , IsLineAssembler , IsNewStatement , IsPrologueEnd ,
  IsAlwaysStepInto , IsNeverStepInto , LastEntry
}
 
enum class  LVBinaryType { NONE , ELF , COFF }
 
enum class  LVComparePass { Missing , Added }
 
enum class  LVAttributeKind {
  All , Argument , Base , Coverage ,
  Directories , Discarded , Discriminator , Encoded ,
  Extended , Filename , Files , Format ,
  Gaps , Generated , Global , Inserted ,
  Level , Linkage , Local , Location ,
  Offset , Pathname , Producer , Publics ,
  Qualified , Qualifier , Range , Reference ,
  Register , Standard , Subrange , System ,
  Typename , Underlying , Zero
}
 
enum class  LVCompareKind {
  All , Lines , Scopes , Symbols ,
  Types
}
 
enum class  LVOutputKind { All , Split , Json , Text }
 
enum class  LVPrintKind {
  All , Elements , Instructions , Lines ,
  Scopes , Sizes , Symbols , Summary ,
  Types , Warnings
}
 
enum class  LVReportKind {
  All , Children , List , Parents ,
  View
}
 
enum class  LVWarningKind {
  All , Coverages , Lines , Locations ,
  Ranges
}
 
enum class  LVInternalKind {
  All , Cmdline , ID , Integrity ,
  None , Tag
}
 
enum class  LVScopeKind {
  IsAggregate , IsArray , IsBlock , IsCallSite ,
  IsCatchBlock , IsClass , IsCompileUnit , IsEntryPoint ,
  IsEnumeration , IsFunction , IsFunctionType , IsInlinedFunction ,
  IsLabel , IsLexicalBlock , IsMember , IsNamespace ,
  IsRoot , IsStructure , IsSubprogram , IsTemplate ,
  IsTemplateAlias , IsTemplatePack , IsTryBlock , IsUnion ,
  LastEntry
}
 
enum class  LVSortMode {
  None = 0 , Kind , Line , Name ,
  Offset
}
 
enum class  LVSymbolKind {
  IsCallSiteParameter , IsConstant , IsInheritance , IsMember ,
  IsParameter , IsUnspecified , IsVariable , LastEntry
}
 
enum class  LVTypeKind {
  IsBase , IsConst , IsEnumerator , IsImport ,
  IsImportDeclaration , IsImportModule , IsPointer , IsPointerMember ,
  IsReference , IsRestrict , IsRvalueReference , IsSubrange ,
  IsTemplateParam , IsTemplateTemplateParam , IsTemplateTypeParam , IsTemplateValueParam ,
  IsTypedef , IsUnaligned , IsUnspecified , IsVolatile ,
  IsModifier , LastEntry
}
 

Functions

LVComparegetComparator ()
 
StringRef typeNone ()
 
StringRef typeVoid ()
 
StringRef typeInt ()
 
StringRef typeUnknown ()
 
StringRef emptyString ()
 
LVOptionsoptions ()
 
void setOptions (LVOptions *Options)
 
LVPatternspatterns ()
 
LVReadergetReader ()
 
LVSplitContextgetReaderSplitContext ()
 
LVScopeCompileUnitgetReaderCompileUnit ()
 
LVSortFunction getSortFunction ()
 
LVSortValue compareKind (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue compareLine (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue compareName (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue compareOffset (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue compareRange (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue sortByKind (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue sortByLine (const LVObject *LHS, const LVObject *RHS)
 
LVSortValue sortByName (const LVObject *LHS, const LVObject *RHS)
 
LVStringPoolgetStringPool ()
 
FormattedNumber hexValue (uint64_t N, unsigned Width=HEX_WIDTH, bool Upper=false)
 
std::string hexString (uint64_t Value, size_t Width=HEX_WIDTH)
 
std::string hexSquareString (uint64_t Value)
 
template<typename... Args>
std::string formatAttributes (const StringRef First, Args... Others)
 
template<typename MapType , typename KeyType , typename ValueType >
void addItem (MapType *Map, KeyType Key, ValueType Value)
 
std::string transformPath (StringRef Path)
 
std::string flattenedFilePath (StringRef Path)
 
std::string formattedKind (StringRef Kind)
 
std::string formattedName (StringRef Name)
 
std::string formattedNames (StringRef Name1, StringRef Name2)
 
LVLexicalComponent getInnerComponent (StringRef Name)
 
LVStringRefs getAllLexicalComponents (StringRef Name)
 
std::string getScopedName (const LVStringRefs &Components, StringRef BaseName={})
 
uint16_t getCodeViewOperationCode (uint8_t Code)
 
static TypeIndex getTrueType (TypeIndex &TI)
 
static StringRef getRecordName (LazyRandomTypeCollection &Types, TypeIndex TI)
 

Variables

const LVSmall LVLocationMemberOffset = 0
 
const LVAddress MaxAddress = std::numeric_limits<uint64_t>::max()
 
constexpr LVSectionIndex UndefinedSectionIndex = 0
 
const int HEX_WIDTH = 12
 
constexpr bool UpdateHighAddress = false
 
static const EnumEntry< TypeLeafKindLeafTypeNames []
 

Typedef Documentation

◆ ArgVector

using llvm::logicalview::ArgVector = typedef std::vector<std::string>

Definition at line 31 of file LVReaderHandler.h.

◆ AttributeSpec

Definition at line 31 of file LVDWARFReader.h.

◆ LVAddress

Definition at line 36 of file LVObject.h.

◆ LVAddressRange

Definition at line 23 of file LVRange.h.

◆ LVAttributeKindSet

Definition at line 131 of file LVOptions.h.

◆ LVCompareKindSet

Definition at line 140 of file LVOptions.h.

◆ LVElementDispatch

Definition at line 64 of file LVElement.h.

◆ LVElementGetFunction

using llvm::logicalview::LVElementGetFunction = typedef bool (LVElement::*)() const

Definition at line 64 of file LVObject.h.

◆ LVElementKindSet

Definition at line 63 of file LVElement.h.

◆ LVElementRequest

Definition at line 65 of file LVElement.h.

◆ LVElements

Definition at line 76 of file LVObject.h.

◆ LVElementSetFunction

using llvm::logicalview::LVElementSetFunction = typedef void (LVElement::*)()

Definition at line 63 of file LVObject.h.

◆ LVHalf

Definition at line 37 of file LVObject.h.

◆ LVInternalKindSet

Definition at line 190 of file LVOptions.h.

◆ LVLevel

Definition at line 38 of file LVObject.h.

◆ LVLexicalComponent

Definition at line 34 of file LVSupport.h.

◆ LVLexicalIndex

using llvm::logicalview::LVLexicalIndex = typedef std::tuple<LVStringRefs::size_type, LVStringRefs::size_type>

Definition at line 35 of file LVSupport.h.

◆ LVLineDispatch

Definition at line 36 of file LVLine.h.

◆ LVLineGetFunction

using llvm::logicalview::LVLineGetFunction = typedef bool (LVLine::*)() const

Definition at line 66 of file LVObject.h.

◆ LVLineKindSet

using llvm::logicalview::LVLineKindSet = typedef std::set<LVLineKind>

Definition at line 35 of file LVLine.h.

◆ LVLineRange

using llvm::logicalview::LVLineRange = typedef std::pair<LVLine *, LVLine *>

Definition at line 22 of file LVLocation.h.

◆ LVLineRecords

using llvm::logicalview::LVLineRecords = typedef std::vector<TypeIndex>

Definition at line 115 of file LVCodeViewVisitor.cpp.

◆ LVLineRequest

Definition at line 37 of file LVLine.h.

◆ LVLines

Definition at line 77 of file LVObject.h.

◆ LVLineSetFunction

using llvm::logicalview::LVLineSetFunction = typedef void (LVLine::*)()

Definition at line 65 of file LVObject.h.

◆ LVLocations

Definition at line 78 of file LVObject.h.

◆ LVNameInfo

using llvm::logicalview::LVNameInfo = typedef std::pair<LVAddress, uint64_t>

Definition at line 29 of file LVScope.h.

◆ LVNames

Definition at line 59 of file LVCodeViewReader.h.

◆ LVObjectGetFunction

using llvm::logicalview::LVObjectGetFunction = typedef bool (LVObject::*)() const

Definition at line 68 of file LVObject.h.

◆ LVObjectSetFunction

using llvm::logicalview::LVObjectSetFunction = typedef void (LVObject::*)()

Definition at line 67 of file LVObject.h.

◆ LVOffset

Definition at line 39 of file LVObject.h.

◆ LVOffsetElementMap

Definition at line 66 of file LVScope.h.

◆ LVOffsetLinesMap

Definition at line 67 of file LVScope.h.

◆ LVOffsetLocationsMap

Definition at line 68 of file LVScope.h.

◆ LVOffsets

Definition at line 84 of file LVObject.h.

◆ LVOffsetSet

using llvm::logicalview::LVOffsetSet = typedef std::set<uint64_t>

Definition at line 92 of file LVOptions.h.

◆ LVOffsetSymbolMap

Definition at line 69 of file LVScope.h.

◆ LVOperations

Definition at line 79 of file LVObject.h.

◆ LVOutputKindSet

Definition at line 148 of file LVOptions.h.

◆ LVPassEntry

Definition at line 25 of file LVCompare.h.

◆ LVPassTable

using llvm::logicalview::LVPassTable = typedef std::vector<LVPassEntry>

Definition at line 26 of file LVCompare.h.

◆ LVPrintKindSet

Definition at line 162 of file LVOptions.h.

◆ LVPublicAddresses

Definition at line 31 of file LVScope.h.

◆ LVPublicNames

using llvm::logicalview::LVPublicNames = typedef std::map<LVScope *, LVNameInfo>

Definition at line 30 of file LVScope.h.

◆ LVRangeEntries

using llvm::logicalview::LVRangeEntries = typedef std::vector<LVRangeEntry>

Definition at line 47 of file LVRange.h.

◆ LVReaders

using llvm::logicalview::LVReaders = typedef std::vector<std::unique_ptr<LVReader> >

Definition at line 30 of file LVReaderHandler.h.

◆ LVReportKindSet

Definition at line 171 of file LVOptions.h.

◆ LVScopeDispatch

Definition at line 63 of file LVScope.h.

◆ LVScopeGetFunction

using llvm::logicalview::LVScopeGetFunction = typedef bool (LVScope::*)() const

Definition at line 70 of file LVObject.h.

◆ LVScopeKindSet

Definition at line 62 of file LVScope.h.

◆ LVScopeRequest

Definition at line 64 of file LVScope.h.

◆ LVScopes

Definition at line 80 of file LVObject.h.

◆ LVScopeSetFunction

using llvm::logicalview::LVScopeSetFunction = typedef void (LVScope::*)()

Definition at line 69 of file LVObject.h.

◆ LVSectionIndex

Definition at line 35 of file LVObject.h.

◆ LVSigned

using llvm::logicalview::LVSigned = typedef int64_t

Definition at line 40 of file LVObject.h.

◆ LVSmall

Definition at line 42 of file LVObject.h.

◆ LVSortFunction

Definition at line 32 of file LVSort.h.

◆ LVSortValue

using llvm::logicalview::LVSortValue = typedef int

Definition at line 31 of file LVSort.h.

◆ LVStringRefs

using llvm::logicalview::LVStringRefs = typedef std::vector<StringRef>

Definition at line 33 of file LVSupport.h.

◆ LVSymbolDispatch

Definition at line 33 of file LVSymbol.h.

◆ LVSymbolGetFunction

using llvm::logicalview::LVSymbolGetFunction = typedef bool (LVSymbol::*)() const

Definition at line 72 of file LVObject.h.

◆ LVSymbolKinds

using llvm::logicalview::LVSymbolKinds = typedef std::set<SymbolKind>

Definition at line 300 of file LVCodeViewVisitor.cpp.

◆ LVSymbolKindSet

Definition at line 32 of file LVSymbol.h.

◆ LVSymbolRequest

Definition at line 34 of file LVSymbol.h.

◆ LVSymbols

Definition at line 81 of file LVObject.h.

◆ LVSymbolSetFunction

using llvm::logicalview::LVSymbolSetFunction = typedef void (LVSymbol::*)()

Definition at line 71 of file LVObject.h.

◆ LVTagOffsetsMap

Definition at line 70 of file LVScope.h.

◆ LVTypeDispatch

Definition at line 47 of file LVType.h.

◆ LVTypeGetFunction

using llvm::logicalview::LVTypeGetFunction = typedef bool (LVType::*)() const

Definition at line 74 of file LVObject.h.

◆ LVTypeKinds

using llvm::logicalview::LVTypeKinds = typedef std::set<TypeLeafKind>

Definition at line 299 of file LVCodeViewVisitor.cpp.

◆ LVTypeKindSelection

Definition at line 46 of file LVType.h.

◆ LVTypeRequest

Definition at line 48 of file LVType.h.

◆ LVTypes

Definition at line 82 of file LVObject.h.

◆ LVTypeSetFunction

using llvm::logicalview::LVTypeSetFunction = typedef void (LVType::*)()

Definition at line 73 of file LVObject.h.

◆ LVUnsigned

Definition at line 41 of file LVObject.h.

◆ LVValidLocation

using llvm::logicalview::LVValidLocation = typedef bool (LVLocation::*)()

Definition at line 92 of file LVObject.h.

◆ LVWarningKindSet

Definition at line 180 of file LVOptions.h.

◆ PdbOrObj

Definition at line 32 of file LVReaderHandler.h.

Enumeration Type Documentation

◆ LVAttributeKind

Enumerator
All 
Argument 
Base 
Coverage 
Directories 
Discarded 
Discriminator 
Encoded 
Extended 
Filename 
Files 
Format 
Gaps 
Generated 
Global 
Inserted 
Level 
Linkage 
Local 
Location 
Offset 
Pathname 
Producer 
Publics 
Qualified 
Qualifier 
Range 
Reference 
Register 
Standard 
Subrange 
System 
Typename 
Underlying 
Zero 

Definition at line 94 of file LVOptions.h.

◆ LVBinaryType

Enumerator
NONE 
ELF 
COFF 

Definition at line 88 of file LVObject.h.

◆ LVCompareKind

Enumerator
All 
Lines 
Scopes 
Symbols 
Types 

Definition at line 133 of file LVOptions.h.

◆ LVComparePass

Enumerator
Missing 
Added 

Definition at line 89 of file LVObject.h.

◆ LVElementKind

Enumerator
Discarded 
Global 
Optimized 
LastEntry 

Definition at line 62 of file LVElement.h.

◆ LVInternalKind

Enumerator
All 
Cmdline 
ID 
Integrity 
None 
Tag 

Definition at line 182 of file LVOptions.h.

◆ LVLineKind

enum class llvm::logicalview::LVLineKind
strong
Enumerator
IsBasicBlock 
IsDiscriminator 
IsEndSequence 
IsEpilogueBegin 
IsLineDebug 
IsLineAssembler 
IsNewStatement 
IsPrologueEnd 
IsAlwaysStepInto 
IsNeverStepInto 
LastEntry 

Definition at line 22 of file LVLine.h.

◆ LVOutputKind

Enumerator
All 
Split 
Json 
Text 

Definition at line 142 of file LVOptions.h.

◆ LVPrintKind

enum class llvm::logicalview::LVPrintKind
strong
Enumerator
All 
Elements 
Instructions 
Lines 
Scopes 
Sizes 
Symbols 
Summary 
Types 
Warnings 

Definition at line 150 of file LVOptions.h.

◆ LVReportKind

Enumerator
All 
Children 
List 
Parents 
View 

Definition at line 164 of file LVOptions.h.

◆ LVScopeKind

enum class llvm::logicalview::LVScopeKind
strong
Enumerator
IsAggregate 
IsArray 
IsBlock 
IsCallSite 
IsCatchBlock 
IsClass 
IsCompileUnit 
IsEntryPoint 
IsEnumeration 
IsFunction 
IsFunctionType 
IsInlinedFunction 
IsLabel 
IsLexicalBlock 
IsMember 
IsNamespace 
IsRoot 
IsStructure 
IsSubprogram 
IsTemplate 
IsTemplateAlias 
IsTemplatePack 
IsTryBlock 
IsUnion 
LastEntry 

Definition at line 35 of file LVScope.h.

◆ LVSortMode

enum class llvm::logicalview::LVSortMode
strong
Enumerator
None 
Kind 
Line 
Name 
Offset 

Definition at line 22 of file LVSort.h.

◆ LVSubclassID

Enumerator
LV_ELEMENT 
LV_LINE_FIRST 
LV_LINE 
LV_LINE_DEBUG 
LV_LINE_ASSEMBLER 
LV_LINE_LAST 
lV_SCOPE_FIRST 
LV_SCOPE 
LV_SCOPE_AGGREGATE 
LV_SCOPE_ALIAS 
LV_SCOPE_ARRAY 
LV_SCOPE_COMPILE_UNIT 
LV_SCOPE_ENUMERATION 
LV_SCOPE_FORMAL_PACK 
LV_SCOPE_FUNCTION 
LV_SCOPE_FUNCTION_INLINED 
LV_SCOPE_FUNCTION_TYPE 
LV_SCOPE_NAMESPACE 
LV_SCOPE_ROOT 
LV_SCOPE_TEMPLATE_PACK 
LV_SCOPE_LAST 
LV_SYMBOL_FIRST 
LV_SYMBOL 
LV_SYMBOL_LAST 
LV_TYPE_FIRST 
LV_TYPE 
LV_TYPE_DEFINITION 
LV_TYPE_ENUMERATOR 
LV_TYPE_IMPORT 
LV_TYPE_PARAM 
LV_TYPE_SUBRANGE 
LV_TYPE_LAST 

Definition at line 27 of file LVElement.h.

◆ LVSymbolKind

Enumerator
IsCallSiteParameter 
IsConstant 
IsInheritance 
IsMember 
IsParameter 
IsUnspecified 
IsVariable 
LastEntry 

Definition at line 22 of file LVSymbol.h.

◆ LVTypeKind

enum class llvm::logicalview::LVTypeKind
strong
Enumerator
IsBase 
IsConst 
IsEnumerator 
IsImport 
IsImportDeclaration 
IsImportModule 
IsPointer 
IsPointerMember 
IsReference 
IsRestrict 
IsRvalueReference 
IsSubrange 
IsTemplateParam 
IsTemplateTemplateParam 
IsTemplateTypeParam 
IsTemplateValueParam 
IsTypedef 
IsUnaligned 
IsUnspecified 
IsVolatile 
IsModifier 
LastEntry 

Definition at line 22 of file LVType.h.

◆ LVWarningKind

Enumerator
All 
Coverages 
Lines 
Locations 
Ranges 

Definition at line 173 of file LVOptions.h.

Function Documentation

◆ addItem()

template<typename MapType , typename KeyType , typename ValueType >
void llvm::logicalview::addItem ( MapType *  Map,
KeyType  Key,
ValueType  Value 
)

Definition at line 137 of file LVSupport.h.

◆ compareKind()

LVSortValue llvm::logicalview::compareKind ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 26 of file LVSort.cpp.

References LHS, and RHS.

◆ compareLine()

LVSortValue llvm::logicalview::compareLine ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 32 of file LVSort.cpp.

References LHS, and RHS.

◆ compareName()

LVSortValue llvm::logicalview::compareName ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 38 of file LVSort.cpp.

References llvm::Value::getName(), LHS, and RHS.

◆ compareOffset()

LVSortValue llvm::logicalview::compareOffset ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 44 of file LVSort.cpp.

References LHS, and RHS.

Referenced by getSortFunction().

◆ compareRange()

LVSortValue llvm::logicalview::compareRange ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 50 of file LVSort.cpp.

References LHS, and RHS.

Referenced by llvm::logicalview::LVScope::sort().

◆ emptyString()

StringRef llvm::logicalview::emptyString ( )

Definition at line 32 of file LVObject.cpp.

Referenced by llvm::logicalview::LVElement::resolveFullname().

◆ flattenedFilePath()

std::string llvm::logicalview::flattenedFilePath ( StringRef  Path)

Definition at line 48 of file LVSupport.cpp.

References Name.

Referenced by llvm::logicalview::LVSplitContext::open().

◆ formatAttributes()

template<typename... Args>
std::string llvm::logicalview::formatAttributes ( const StringRef  First,
Args...  Others 
)

◆ formattedKind()

std::string llvm::logicalview::formattedKind ( StringRef  Kind)
inline

◆ formattedName()

std::string llvm::logicalview::formattedName ( StringRef  Name)
inline

◆ formattedNames()

std::string llvm::logicalview::formattedNames ( StringRef  Name1,
StringRef  Name2 
)
inline

◆ getAllLexicalComponents()

LVStringRefs llvm::logicalview::getAllLexicalComponents ( StringRef  Name)

Definition at line 138 of file LVSupport.cpp.

References getAllLexicalIndexes(), and Name.

◆ getCodeViewOperationCode()

uint16_t llvm::logicalview::getCodeViewOperationCode ( uint8_t  Code)
inline

◆ getComparator()

LVCompare & llvm::logicalview::getComparator ( )
inline

◆ getInnerComponent()

LVLexicalComponent llvm::logicalview::getInnerComponent ( StringRef  Name)

◆ getReader()

LVReader & llvm::logicalview::getReader ( )
inline

◆ getReaderCompileUnit()

LVScopeCompileUnit * llvm::logicalview::getReaderCompileUnit ( )
inline

◆ getReaderSplitContext()

LVSplitContext & llvm::logicalview::getReaderSplitContext ( )
inline

◆ getRecordName()

static StringRef llvm::logicalview::getRecordName ( LazyRandomTypeCollection Types,
TypeIndex  TI 
)
static

◆ getScopedName()

std::string llvm::logicalview::getScopedName ( const LVStringRefs Components,
StringRef  BaseName = {} 
)

Definition at line 151 of file LVSupport.cpp.

References Name, and llvm::StringRef::size().

◆ getSortFunction()

LVSortFunction llvm::logicalview::getSortFunction ( )

◆ getStringPool()

LVStringPool & llvm::logicalview::getStringPool ( )

Definition at line 25 of file LVSupport.cpp.

Referenced by llvm::logicalview::LVScopeCompileUnit::addFilename(), llvm::logicalview::LVScopeCompileUnit::getCompilationDirectory(), llvm::logicalview::LVScopeAggregate::getEncodedArgs(), llvm::logicalview::LVScopeFunction::getEncodedArgs(), llvm::logicalview::LVScopeRoot::getFileFormatName(), llvm::logicalview::LVScopeCompileUnit::getFilename(), llvm::logicalview::LVScopeFunction::getLinkageName(), llvm::logicalview::LVSymbol::getLinkageName(), llvm::logicalview::LVElement::getName(), llvm::logicalview::LVElement::getPathname(), llvm::logicalview::LVScopeCompileUnit::getProducer(), llvm::logicalview::LVElement::getQualifiedName(), getStringIndex(), llvm::logicalview::LVSymbol::getValue(), llvm::logicalview::LVTypeEnumerator::getValue(), llvm::logicalview::LVTypeParam::getValue(), llvm::logicalview::LVScopeCompileUnit::printLocalNames(), llvm::logicalview::LVScopeCompileUnit::setCompilationDirectory(), llvm::logicalview::LVScopeAggregate::setEncodedArgs(), llvm::logicalview::LVScopeFunction::setEncodedArgs(), llvm::logicalview::LVScopeRoot::setFileFormatName(), llvm::logicalview::LVScopeFunction::setLinkageName(), llvm::logicalview::LVSymbol::setLinkageName(), llvm::logicalview::LVElement::setName(), llvm::logicalview::LVScopeCompileUnit::setProducer(), llvm::logicalview::LVElement::setQualifiedName(), llvm::logicalview::LVSymbol::setValue(), llvm::logicalview::LVTypeEnumerator::setValue(), and llvm::logicalview::LVTypeParam::setValue().

◆ getTrueType()

static TypeIndex llvm::logicalview::getTrueType ( TypeIndex TI)
static

◆ hexSquareString()

std::string llvm::logicalview::hexSquareString ( uint64_t  Value)
inline

◆ hexString()

std::string llvm::logicalview::hexString ( uint64_t  Value,
size_t  Width = HEX_WIDTH 
)
inline

◆ hexValue()

FormattedNumber llvm::logicalview::hexValue ( uint64_t  N,
unsigned  Width = HEX_WIDTH,
bool  Upper = false 
)
inline

◆ options()

LVOptions & llvm::logicalview::options ( )
inline

Definition at line 445 of file LVOptions.h.

References llvm::logicalview::LVOptions::getOptions().

Referenced by llvm::logicalview::LVPatterns::addGenericPatterns(), llvm::logicalview::LVPatterns::addOffsetPatterns(), llvm::logicalview::LVPatterns::addPatterns(), llvm::logicalview::LVSymbol::calculateCoverage(), llvm::logicalview::LVLocation::calculateCoverage(), llvm::logicalview::LVPatterns::clear(), llvm::logicalview::LVLogicalVisitor::createElement(), llvm::logicalview::LVBinaryReader::createInstructions(), llvm::logicalview::LVReader::createScopes(), llvm::logicalview::LVElement::discriminatorAsString(), llvm::logicalview::LVReader::doLoad(), llvm::logicalview::LVReader::doPrint(), llvm::logicalview::LVScope::doPrint(), llvm::logicalview::LVScopeRoot::doPrintMatches(), llvm::logicalview::LVScope::equalNumberOfChildren(), llvm::logicalview::LVElement::equals(), llvm::logicalview::LVScopeFunction::equals(), llvm::logicalview::LVCompare::execute(), llvm::logicalview::LVLocation::getIntervalInfo(), llvm::logicalview::LVType::getParameters(), getSortFunction(), getStringIndex(), llvm::logicalview::LVScopeCompileUnit::incrementPrintedLines(), llvm::logicalview::LVScopeCompileUnit::incrementPrintedScopes(), llvm::logicalview::LVScopeCompileUnit::incrementPrintedSymbols(), llvm::logicalview::LVScopeCompileUnit::incrementPrintedTypes(), llvm::logicalview::LVObject::indentAsString(), llvm::logicalview::LVLogicalVisitor::inlineSiteAnnotation(), llvm::logicalview::LVObject::lineAsString(), llvm::logicalview::LVCompare::LVCompare(), llvm::logicalview::LVTypeParam::LVTypeParam(), llvm::logicalview::LVScope::markMissingParents(), llvm::logicalview::LVLine::noLineAsString(), llvm::logicalview::LVReader::notifyAddedElement(), llvm::logicalview::LVLocation::print(), llvm::logicalview::LVRange::print(), llvm::logicalview::LVScope::print(), llvm::logicalview::LVScopeCompileUnit::print(), llvm::logicalview::LVScope::printActiveRanges(), llvm::logicalview::LVObject::printAttributes(), llvm::logicalview::LVPatterns::printElement(), llvm::logicalview::LVScope::printEncodedArgs(), llvm::logicalview::LVLineDebug::printExtra(), llvm::logicalview::LVScopeCompileUnit::printExtra(), llvm::logicalview::LVScopeRoot::printExtra(), llvm::logicalview::LVSymbol::printExtra(), llvm::logicalview::LVElement::printFileIndex(), llvm::logicalview::LVCompare::printItem(), llvm::logicalview::LVElement::printLinkageName(), llvm::logicalview::LVScopeCompileUnit::printLocalNames(), llvm::logicalview::LVScopeCompileUnit::printMatchedElements(), llvm::logicalview::LVPatterns::printObject(), llvm::logicalview::LVLogicalVisitor::printRecords(), llvm::logicalview::LVElement::printReference(), llvm::logicalview::LVReader::printScopes(), llvm::logicalview::LVScopeCompileUnit::printSizes(), llvm::logicalview::LVScopeCompileUnit::printSummary(), llvm::logicalview::LVScopeCompileUnit::printWarnings(), llvm::logicalview::LVBinaryReader::processLines(), llvm::logicalview::LVScopeRoot::processRangeInformation(), llvm::logicalview::LVScopeCompileUnit::processRangeLocationCoverage(), llvm::logicalview::LVScopeCompileUnit::propagatePatternMatch(), llvm::logicalview::LVTypeDefinition::resolveExtra(), llvm::logicalview::LVElement::resolveName(), llvm::logicalview::LVType::resolveName(), llvm::logicalview::LVScopeFunction::resolveReferences(), llvm::logicalview::LVScope::resolveTemplate(), llvm::logicalview::LVElement::setFile(), llvm::logicalview::LVElement::setGenericType(), llvm::logicalview::LVScope::traverseParentsAndChildren(), llvm::logicalview::LVElement::typeOffsetAsString(), llvm::logicalview::LVPatterns::updateReportOptions(), llvm::logicalview::LVSymbolVisitor::visitKnownRecord(), llvm::logicalview::LVSymbolVisitor::visitSymbolBegin(), and llvm::logicalview::LVTypeVisitor::visitTypeBegin().

◆ patterns()

LVPatterns & llvm::logicalview::patterns ( )
inline

◆ setOptions()

void llvm::logicalview::setOptions ( LVOptions Options)
inline

◆ sortByKind()

LVSortValue llvm::logicalview::sortByKind ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 64 of file LVSort.cpp.

References llvm::Value::getName(), llvm::Left, LHS, RHS, and llvm::Right.

Referenced by getSortFunction().

◆ sortByLine()

LVSortValue llvm::logicalview::sortByLine ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 76 of file LVSort.cpp.

References llvm::Value::getName(), llvm::Left, LHS, RHS, and llvm::Right.

Referenced by getSortFunction().

◆ sortByName()

LVSortValue llvm::logicalview::sortByName ( const LVObject LHS,
const LVObject RHS 
)

Definition at line 88 of file LVSort.cpp.

References llvm::Value::getName(), llvm::Left, LHS, RHS, and llvm::Right.

Referenced by getSortFunction().

◆ transformPath()

std::string llvm::logicalview::transformPath ( StringRef  Path)

Definition at line 31 of file LVSupport.cpp.

References Name.

Referenced by getStringIndex().

◆ typeInt()

StringRef llvm::logicalview::typeInt ( )

Definition at line 30 of file LVObject.cpp.

◆ typeNone()

StringRef llvm::logicalview::typeNone ( )

Definition at line 28 of file LVObject.cpp.

◆ typeUnknown()

StringRef llvm::logicalview::typeUnknown ( )

Definition at line 31 of file LVObject.cpp.

◆ typeVoid()

StringRef llvm::logicalview::typeVoid ( )

Variable Documentation

◆ HEX_WIDTH

const int llvm::logicalview::HEX_WIDTH = 12

Definition at line 102 of file LVSupport.h.

◆ LeafTypeNames

const EnumEntry<TypeLeafKind> llvm::logicalview::LeafTypeNames[]
static
Initial value:
= {
#define CV_TYPE(enum, val)
}

Definition at line 73 of file LVCodeViewVisitor.cpp.

Referenced by llvm::logicalview::LVLogicalVisitor::printMemberBegin(), and llvm::logicalview::LVLogicalVisitor::printTypeBegin().

◆ LVLocationMemberOffset

const LVSmall llvm::logicalview::LVLocationMemberOffset = 0

◆ MaxAddress

const LVAddress llvm::logicalview::MaxAddress = std::numeric_limits<uint64_t>::max()

Definition at line 86 of file LVObject.h.

Referenced by llvm::logicalview::LVRange::clear().

◆ UndefinedSectionIndex

constexpr LVSectionIndex llvm::logicalview::UndefinedSectionIndex = 0
constexpr

Definition at line 28 of file LVReader.h.

Referenced by llvm::logicalview::LVSymbolTable::update().

◆ UpdateHighAddress

constexpr bool llvm::logicalview::UpdateHighAddress = false
constexpr

Definition at line 33 of file LVBinaryReader.h.