LLVM 22.0.0git
LineTable.cpp File Reference

Go to the source code of this file.

Classes

struct  DeltaInfo

Typedefs

typedef std::function< bool(const LineEntry &Row)> LineEntryCallback

Enumerations

enum  LineTableOpCode {
  EndSequence = 0x00 , SetFile = 0x01 , AdvancePC = 0x02 , AdvanceLine = 0x03 ,
  FirstSpecial = 0x04
}

Functions

bool operator< (const DeltaInfo &LHS, int64_t Delta)
static bool encodeSpecial (int64_t MinLineDelta, int64_t MaxLineDelta, int64_t LineDelta, uint64_t AddrDelta, uint8_t &SpecialOp)
static llvm::Error parse (DataExtractor &Data, uint64_t BaseAddr, LineEntryCallback const &Callback)

Typedef Documentation

◆ LineEntryCallback

Definition at line 52 of file LineTable.cpp.

Enumeration Type Documentation

◆ LineTableOpCode

Enumerator
EndSequence 

End of the line table.

SetFile 

Set LineTableRow.file_idx, don't push a row.

AdvancePC 

Increment LineTableRow.address, and push a row.

AdvanceLine 

Set LineTableRow.file_line, don't push a row.

FirstSpecial 

All special opcodes push a row.

Definition at line 16 of file LineTable.cpp.

Function Documentation

◆ encodeSpecial()

bool encodeSpecial ( int64_t MinLineDelta,
int64_t MaxLineDelta,
int64_t LineDelta,
uint64_t AddrDelta,
uint8_t & SpecialOp )
static

Definition at line 34 of file LineTable.cpp.

References FirstSpecial.

Referenced by llvm::gsym::LineTable::encode().

◆ operator<()

bool operator< ( const DeltaInfo & LHS,
int64_t Delta )
inline

Definition at line 30 of file LineTable.cpp.

References LHS.

◆ parse()