class DIEDwarfExpression
Declaration
class DIEDwarfExpression : public DwarfExpression { /* full declaration omitted */ };
Description
DwarfExpression implementation for singular DW_AT_location.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:406
Inherits from: DwarfExpression
Member Variables
- private const llvm::AsmPrinter& AP
- private llvm::DIELoc& OutDIE
- private llvm::DIELoc TmpDIE
- 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 DIEDwarfExpression(const llvm::AsmPrinter & AP, llvm::DwarfCompileUnit & CU, llvm::DIELoc & DIE)
- 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()
- public llvm::DIELoc * finalize()
- private llvm::DIELoc & getActiveDIE()
- 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
¶DIEDwarfExpression(const llvm::AsmPrinter& AP,
llvm::DwarfCompileUnit& CU,
llvm::DIELoc& DIE)
DIEDwarfExpression(const llvm::AsmPrinter& AP,
llvm::DwarfCompileUnit& CU,
llvm::DIELoc& DIE)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:430
Parameters
- const llvm::AsmPrinter& AP
- llvm::DwarfCompileUnit& CU
- llvm::DIELoc& DIE
¶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:424
¶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:422
¶void emitBaseTypeRef(uint64_t Idx)
void emitBaseTypeRef(uint64_t Idx)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:419
Parameters
- uint64_t Idx
¶void emitData1(uint8_t Value)
void emitData1(uint8_t Value)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:418
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:415
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:416
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:417
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:421
¶llvm::DIELoc* finalize()
llvm::DIELoc* finalize()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:432
¶llvm::DIELoc& getActiveDIE()
llvm::DIELoc& getActiveDIE()
Description
Return the DIE that currently is being emitted to.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:413
¶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:423
¶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:426
Parameters
- const llvm::TargetRegisterInfo& TRI
- llvm::Register MachineReg