LLVM 22.0.0git
llvm::StackMapParser< Endianness >::RecordAccessor Class Reference

Accessor for stackmap records. More...

#include "llvm/Object/StackMapParser.h"

Public Types

using location_iterator = AccessorIterator<LocationAccessor>
using liveout_iterator = AccessorIterator<LiveOutAccessor>

Public Member Functions

uint64_t getID () const
 Get the patchpoint/stackmap ID for this record.
uint32_t getInstructionOffset () const
 Get the instruction offset (from the start of the containing function) for this record.
uint16_t getNumLocations () const
 Get the number of locations contained in this record.
LocationAccessor getLocation (unsigned LocationIndex) const
 Get the location with the given index.
location_iterator location_begin () const
 Begin iterator for locations.
location_iterator location_end () const
 End iterator for locations.
iterator_range< location_iteratorlocations () const
 Iterator range for locations.
uint16_t getNumLiveOuts () const
 Get the number of liveouts contained in this record.
LiveOutAccessor getLiveOut (unsigned LiveOutIndex) const
 Get the live-out with the given index.
liveout_iterator liveouts_begin () const
 Begin iterator for live-outs.
liveout_iterator liveouts_end () const
 End iterator for live-outs.
iterator_range< liveout_iteratorliveouts () const
 Iterator range for live-outs.

Friends

class StackMapParser

Detailed Description

template<llvm::endianness Endianness>
class llvm::StackMapParser< Endianness >::RecordAccessor

Accessor for stackmap records.

Definition at line 200 of file StackMapParser.h.

Member Typedef Documentation

◆ liveout_iterator

template<llvm::endianness Endianness>
using llvm::StackMapParser< Endianness >::RecordAccessor::liveout_iterator = AccessorIterator<LiveOutAccessor>

Definition at line 205 of file StackMapParser.h.

◆ location_iterator

template<llvm::endianness Endianness>
using llvm::StackMapParser< Endianness >::RecordAccessor::location_iterator = AccessorIterator<LocationAccessor>

Definition at line 204 of file StackMapParser.h.

Member Function Documentation

◆ getID()

template<llvm::endianness Endianness>
uint64_t llvm::StackMapParser< Endianness >::RecordAccessor::getID ( ) const
inline

Get the patchpoint/stackmap ID for this record.

Definition at line 208 of file StackMapParser.h.

◆ getInstructionOffset()

template<llvm::endianness Endianness>
uint32_t llvm::StackMapParser< Endianness >::RecordAccessor::getInstructionOffset ( ) const
inline

Get the instruction offset (from the start of the containing function) for this record.

Definition at line 214 of file StackMapParser.h.

◆ getLiveOut()

template<llvm::endianness Endianness>
LiveOutAccessor llvm::StackMapParser< Endianness >::RecordAccessor::getLiveOut ( unsigned LiveOutIndex) const
inline

Get the live-out with the given index.

Definition at line 251 of file StackMapParser.h.

Referenced by liveouts_begin(), and liveouts_end().

◆ getLocation()

template<llvm::endianness Endianness>
LocationAccessor llvm::StackMapParser< Endianness >::RecordAccessor::getLocation ( unsigned LocationIndex) const
inline

Get the location with the given index.

Definition at line 224 of file StackMapParser.h.

Referenced by location_begin(), and location_end().

◆ getNumLiveOuts()

template<llvm::endianness Endianness>
uint16_t llvm::StackMapParser< Endianness >::RecordAccessor::getNumLiveOuts ( ) const
inline

Get the number of liveouts contained in this record.

Definition at line 246 of file StackMapParser.h.

Referenced by liveouts_end().

◆ getNumLocations()

template<llvm::endianness Endianness>
uint16_t llvm::StackMapParser< Endianness >::RecordAccessor::getNumLocations ( ) const
inline

Get the number of locations contained in this record.

Definition at line 219 of file StackMapParser.h.

Referenced by location_end().

◆ liveouts()

template<llvm::endianness Endianness>
iterator_range< liveout_iterator > llvm::StackMapParser< Endianness >::RecordAccessor::liveouts ( ) const
inline

Iterator range for live-outs.

Definition at line 268 of file StackMapParser.h.

References liveouts_begin(), liveouts_end(), and llvm::make_range().

◆ liveouts_begin()

template<llvm::endianness Endianness>
liveout_iterator llvm::StackMapParser< Endianness >::RecordAccessor::liveouts_begin ( ) const
inline

Begin iterator for live-outs.

Definition at line 258 of file StackMapParser.h.

References getLiveOut().

Referenced by liveouts().

◆ liveouts_end()

template<llvm::endianness Endianness>
liveout_iterator llvm::StackMapParser< Endianness >::RecordAccessor::liveouts_end ( ) const
inline

End iterator for live-outs.

Definition at line 263 of file StackMapParser.h.

References getLiveOut(), and getNumLiveOuts().

Referenced by liveouts().

◆ location_begin()

template<llvm::endianness Endianness>
location_iterator llvm::StackMapParser< Endianness >::RecordAccessor::location_begin ( ) const
inline

Begin iterator for locations.

Definition at line 231 of file StackMapParser.h.

References getLocation().

Referenced by locations().

◆ location_end()

template<llvm::endianness Endianness>
location_iterator llvm::StackMapParser< Endianness >::RecordAccessor::location_end ( ) const
inline

End iterator for locations.

Definition at line 236 of file StackMapParser.h.

References getLocation(), and getNumLocations().

Referenced by locations().

◆ locations()

template<llvm::endianness Endianness>
iterator_range< location_iterator > llvm::StackMapParser< Endianness >::RecordAccessor::locations ( ) const
inline

Iterator range for locations.

Definition at line 241 of file StackMapParser.h.

References location_begin(), location_end(), and llvm::make_range().

◆ StackMapParser

template<llvm::endianness Endianness>
friend class StackMapParser
friend

Definition at line 201 of file StackMapParser.h.

References StackMapParser.

Referenced by StackMapParser.


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