class DebugLocDwarfExpression
Declaration
class DebugLocDwarfExpression : public DwarfExpression { /* full declaration omitted */ };
Description
DwarfExpression implementation for .debug_loc entries.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:368
Inherits from: DwarfExpression
Member Variables
- private std::unique_ptr<TempBuffer> TmpBuf
- private llvm::BufferByteStreamer& OutBS
- private bool IsBuffering = false
Inherited from DwarfExpression:
- protected IsEmittingEntryValue = false
- protected CU
- protected DwarfRegs
- protected OffsetInBits = 0
- protected SubRegisterSizeInBits
- protected SubRegisterOffsetInBits
- protected LocationKind
- protected SavedLocationKind
- protected LocationFlags
- protected DwarfVersion
- public TagOffset
Method Overview
- public DebugLocDwarfExpression(unsigned int DwarfVersion, llvm::BufferByteStreamer & BS, llvm::DwarfCompileUnit & CU)
- private void commitTemporaryBuffer()
- private void disableTemporaryBuffer()
- private void emitBaseTypeRef(uint64_t Idx)
- private void emitData1(uint8_t Value)
- private void emitOp(uint8_t Op, const char * Comment = nullptr)
- private void emitSigned(int64_t Value)
- private void emitUnsigned(uint64_t Value)
- private void enableTemporaryBuffer()
- private llvm::ByteStreamer & getActiveStreamer()
- private unsigned int getTemporaryBufferSize()
- private bool isFrameRegister(const llvm::TargetRegisterInfo & TRI, llvm::Register MachineReg)
Inherited from DwarfExpression:
- protected addAnd
- protected addBReg
- public addConstantFP
- public addExpression
- public addExpression
- protected addFBReg
- public addFragmentOffset
- protected addMachineReg
- public addMachineRegExpression
- protected addOpPiece
- protected addReg
- protected addShr
- public addSignedConstant
- protected addStackValue
- public addUnsignedConstant
- public addUnsignedConstant
- public addWasmLocation
- public beginEntryValueExpression
- protected cancelEntryValue
- protected commitTemporaryBuffer
- protected disableTemporaryBuffer
- protected emitBaseTypeRef
- protected emitConstu
- protected emitData1
- public emitLegacySExt
- public emitLegacyZExt
- protected emitOp
- protected emitSigned
- protected emitUnsigned
- protected enableTemporaryBuffer
- public finalize
- protected finalizeEntryValue
- public getOrCreateBaseType
- protected getTemporaryBufferSize
- public isEntryValue
- protected isFrameRegister
- public isImplicitLocation
- public isIndirect
- public isMemoryLocation
- public isParameterValue
- public isRegisterLocation
- public isUnknownLocation
- protected maskSubRegister
- public setCallSiteParamValueFlag
- public setEntryValueFlags
- public setLocation
- public setMemoryLocationKind
- protected setSubRegisterPiece
Methods
¶DebugLocDwarfExpression(
unsigned int DwarfVersion,
llvm::BufferByteStreamer& BS,
llvm::DwarfCompileUnit& CU)
DebugLocDwarfExpression(
unsigned int DwarfVersion,
llvm::BufferByteStreamer& BS,
llvm::DwarfCompileUnit& CU)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:400
Parameters
- unsigned int DwarfVersion
- llvm::BufferByteStreamer& BS
- llvm::DwarfCompileUnit& CU
¶void commitTemporaryBuffer()
void commitTemporaryBuffer()
Description
Commit the data stored in the temporary buffer to the main output.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:394
¶void disableTemporaryBuffer()
void disableTemporaryBuffer()
Description
Disable emission to the temporary buffer. This does not commit data in the temporary buffer to the main output.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:392
¶void emitBaseTypeRef(uint64_t Idx)
void emitBaseTypeRef(uint64_t Idx)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:389
Parameters
- uint64_t Idx
¶void emitData1(uint8_t Value)
void emitData1(uint8_t Value)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:388
Parameters
- uint8_t Value
¶void emitOp(uint8_t Op,
const char* Comment = nullptr)
void emitOp(uint8_t Op,
const char* Comment = nullptr)
Description
Output a dwarf operand and an optional assembler comment.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:385
Parameters
- uint8_t Op
- const char* Comment = nullptr
¶void emitSigned(int64_t Value)
void emitSigned(int64_t Value)
Description
Emit a raw signed value.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:386
Parameters
- int64_t Value
¶void emitUnsigned(uint64_t Value)
void emitUnsigned(uint64_t Value)
Description
Emit a raw unsigned value.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:387
Parameters
- uint64_t Value
¶void enableTemporaryBuffer()
void enableTemporaryBuffer()
Description
Start emitting data to the temporary buffer. The data stored in the temporary buffer can be committed to the main output using commitTemporaryBuffer().
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:391
¶llvm::ByteStreamer& getActiveStreamer()
llvm::ByteStreamer& getActiveStreamer()
Description
Return the byte streamer that currently is being emitted to.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:383
¶unsigned int getTemporaryBufferSize()
unsigned int getTemporaryBufferSize()
Description
Return the emitted size, in number of bytes, for the data stored in the temporary buffer.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:393
¶bool isFrameRegister(
const llvm::TargetRegisterInfo& TRI,
llvm::Register MachineReg)
bool isFrameRegister(
const llvm::TargetRegisterInfo& TRI,
llvm::Register MachineReg)
Description
Return whether the given machine register is the frame register in the current function.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:396
Parameters
- const llvm::TargetRegisterInfo& TRI
- llvm::Register MachineReg