LLVM  4.0.0
Classes | Public Types | Public Member Functions | List of all members
llvm::StackMapV2Parser< Endianness > Class Template Reference

#include <StackMapParser.h>

Classes

class  AccessorIterator
 
class  ConstantAccessor
 Accessor for constants. More...
 
class  FunctionAccessor
 Accessor for function records. More...
 
class  LiveOutAccessor
 Accessor for stackmap live-out fields. More...
 
class  LocationAccessor
 Accessor for location records. More...
 
class  RecordAccessor
 Accessor for stackmap records. More...
 

Public Types

enum  LocationKind : uint8_t {
  LocationKind::Register = 1, LocationKind::Direct = 2, LocationKind::Indirect = 3, LocationKind::Constant = 4,
  LocationKind::ConstantIndex = 5
}
 
typedef AccessorIterator
< FunctionAccessor
function_iterator
 
typedef AccessorIterator
< ConstantAccessor
constant_iterator
 
typedef AccessorIterator
< RecordAccessor
record_iterator
 

Public Member Functions

 StackMapV2Parser (ArrayRef< uint8_t > StackMapSection)
 Construct a parser for a version-2 stackmap. More...
 
unsigned getVersion () const
 Get the version number of this stackmap. (Always returns 2). More...
 
uint32_t getNumFunctions () const
 Get the number of functions in the stack map. More...
 
uint32_t getNumConstants () const
 Get the number of large constants in the stack map. More...
 
uint32_t getNumRecords () const
 Get the number of stackmap records in the stackmap. More...
 
FunctionAccessor getFunction (unsigned FunctionIndex) const
 Return an FunctionAccessor for the given function index. More...
 
function_iterator functions_begin () const
 Begin iterator for functions. More...
 
function_iterator functions_end () const
 End iterator for functions. More...
 
iterator_range< function_iteratorfunctions () const
 Iterator range for functions. More...
 
ConstantAccessor getConstant (unsigned ConstantIndex) const
 Return the large constant at the given index. More...
 
constant_iterator constants_begin () const
 Begin iterator for constants. More...
 
constant_iterator constants_end () const
 End iterator for constants. More...
 
iterator_range< constant_iteratorconstants () const
 Iterator range for constants. More...
 
RecordAccessor getRecord (unsigned RecordIndex) const
 Return a RecordAccessor for the given record index. More...
 
record_iterator records_begin () const
 Begin iterator for records. More...
 
record_iterator records_end () const
 End iterator for records. More...
 
iterator_range< record_iteratorrecords () const
 Iterator range for records. More...
 

Detailed Description

template<support::endianness Endianness>
class llvm::StackMapV2Parser< Endianness >

Definition at line 20 of file StackMapParser.h.

Member Typedef Documentation

template<support::endianness Endianness>
typedef AccessorIterator<ConstantAccessor> llvm::StackMapV2Parser< Endianness >::constant_iterator

Definition at line 320 of file StackMapParser.h.

template<support::endianness Endianness>
typedef AccessorIterator<FunctionAccessor> llvm::StackMapV2Parser< Endianness >::function_iterator

Definition at line 319 of file StackMapParser.h.

template<support::endianness Endianness>
typedef AccessorIterator<RecordAccessor> llvm::StackMapV2Parser< Endianness >::record_iterator

Definition at line 321 of file StackMapParser.h.

Member Enumeration Documentation

template<support::endianness Endianness>
enum llvm::StackMapV2Parser::LocationKind : uint8_t
strong
Enumerator
Register 
Direct 
Indirect 
Constant 
ConstantIndex 

Definition at line 104 of file StackMapParser.h.

Constructor & Destructor Documentation

template<support::endianness Endianness>
llvm::StackMapV2Parser< Endianness >::StackMapV2Parser ( ArrayRef< uint8_t >  StackMapSection)
inline

Construct a parser for a version-2 stackmap.

StackMap data will be read from the given array.

Definition at line 302 of file StackMapParser.h.

References assert(), E, llvm::StackMapV2Parser< Endianness >::getNumConstants(), llvm::StackMapV2Parser< Endianness >::getNumFunctions(), llvm::StackMapV2Parser< Endianness >::getNumRecords(), and I.

Member Function Documentation

template<support::endianness Endianness>
iterator_range<constant_iterator> llvm::StackMapV2Parser< Endianness >::constants ( ) const
inline
template<support::endianness Endianness>
constant_iterator llvm::StackMapV2Parser< Endianness >::constants_begin ( ) const
inline

Begin iterator for constants.

Definition at line 371 of file StackMapParser.h.

References llvm::StackMapV2Parser< Endianness >::getConstant().

Referenced by llvm::StackMapV2Parser< Endianness >::constants().

template<support::endianness Endianness>
constant_iterator llvm::StackMapV2Parser< Endianness >::constants_end ( ) const
inline
template<support::endianness Endianness>
iterator_range<function_iterator> llvm::StackMapV2Parser< Endianness >::functions ( ) const
inline
template<support::endianness Endianness>
function_iterator llvm::StackMapV2Parser< Endianness >::functions_begin ( ) const
inline

Begin iterator for functions.

Definition at line 348 of file StackMapParser.h.

References llvm::StackMapV2Parser< Endianness >::getFunction().

Referenced by llvm::StackMapV2Parser< Endianness >::functions().

template<support::endianness Endianness>
function_iterator llvm::StackMapV2Parser< Endianness >::functions_end ( ) const
inline
template<support::endianness Endianness>
ConstantAccessor llvm::StackMapV2Parser< Endianness >::getConstant ( unsigned  ConstantIndex) const
inline

Return the large constant at the given index.

Definition at line 365 of file StackMapParser.h.

References llvm::ArrayRef< T >::data().

Referenced by llvm::StackMapV2Parser< Endianness >::constants_begin().

template<support::endianness Endianness>
FunctionAccessor llvm::StackMapV2Parser< Endianness >::getFunction ( unsigned  FunctionIndex) const
inline

Return an FunctionAccessor for the given function index.

Definition at line 342 of file StackMapParser.h.

References llvm::ArrayRef< T >::data().

Referenced by llvm::StackMapV2Parser< Endianness >::functions_begin().

template<support::endianness Endianness>
uint32_t llvm::StackMapV2Parser< Endianness >::getNumConstants ( ) const
inline

Get the number of large constants in the stack map.

Definition at line 332 of file StackMapParser.h.

Referenced by llvm::StackMapV2Parser< Endianness >::constants_end(), and llvm::StackMapV2Parser< Endianness >::StackMapV2Parser().

template<support::endianness Endianness>
uint32_t llvm::StackMapV2Parser< Endianness >::getNumFunctions ( ) const
inline

Get the number of functions in the stack map.

Definition at line 327 of file StackMapParser.h.

Referenced by llvm::StackMapV2Parser< Endianness >::functions_end(), and llvm::StackMapV2Parser< Endianness >::StackMapV2Parser().

template<support::endianness Endianness>
uint32_t llvm::StackMapV2Parser< Endianness >::getNumRecords ( ) const
inline
template<support::endianness Endianness>
RecordAccessor llvm::StackMapV2Parser< Endianness >::getRecord ( unsigned  RecordIndex) const
inline
template<support::endianness Endianness>
unsigned llvm::StackMapV2Parser< Endianness >::getVersion ( ) const
inline

Get the version number of this stackmap. (Always returns 2).

Definition at line 324 of file StackMapParser.h.

template<support::endianness Endianness>
iterator_range<record_iterator> llvm::StackMapV2Parser< Endianness >::records ( ) const
inline
template<support::endianness Endianness>
record_iterator llvm::StackMapV2Parser< Endianness >::records_begin ( ) const
inline
template<support::endianness Endianness>
record_iterator llvm::StackMapV2Parser< Endianness >::records_end ( ) const
inline

The documentation for this class was generated from the following file: