Changeset View
Changeset View
Standalone View
Standalone View
lib/CodeGen/AsmPrinter/DwarfDebug.h
Context not available. | |||||
StringRef getName() const { return Var.getName(); } | StringRef getName() const { return Var.getName(); } | ||||
DbgVariable *getAbstractVariable() const { return AbsVar; } | DbgVariable *getAbstractVariable() const { return AbsVar; } | ||||
const MachineInstr *getMInsn() const { return MInsn; } | const MachineInstr *getMInsn() const { return MInsn; } | ||||
void setMInsn(const MachineInstr *M) { MInsn = M; } | /// Set MInsn and extract the DIVariable from it. | ||||
void updateMachineInstr(const MachineInstr *M); | |||||
int getFrameIndex() const { return FrameIndex; } | int getFrameIndex() const { return FrameIndex; } | ||||
void setFrameIndex(int FI) { FrameIndex = FI; } | void setFrameIndex(int FI) { FrameIndex = FI; } | ||||
// Translate tag to proper Dwarf tag. | // Translate tag to proper Dwarf tag. | ||||
Context not available. | |||||
/// \brief Populate LexicalScope entries with variables' info. | /// \brief Populate LexicalScope entries with variables' info. | ||||
void collectVariableInfo(SmallPtrSet<const MDNode *, 16> &ProcessedVars); | void collectVariableInfo(SmallPtrSet<const MDNode *, 16> &ProcessedVars); | ||||
/// \brief Build the location list for all DBG_VALUEs in the | |||||
/// function that describe the same variable. | |||||
void buildLocationList(SmallVectorImpl<DebugLocEntry> &DebugLoc, | |||||
const SmallVectorImpl<const MachineInstr *> &History, | |||||
DwarfCompileUnit *TheCU); | |||||
/// \brief Collect variable information from the side table maintained | /// \brief Collect variable information from the side table maintained | ||||
/// by MMI. | /// by MMI. | ||||
void collectVariableInfoFromMMITable(SmallPtrSet<const MDNode *, 16> &P); | void collectVariableInfoFromMMITable(SmallPtrSet<const MDNode *, 16> &P); | ||||
Context not available. | |||||
/// \brief Emit an entry for the debug loc section. This can be used to | /// \brief Emit an entry for the debug loc section. This can be used to | ||||
/// handle an entry that's going to be emitted into the debug loc section. | /// handle an entry that's going to be emitted into the debug loc section. | ||||
void emitDebugLocEntry(ByteStreamer &Streamer, const DebugLocEntry &Entry); | void emitDebugLocEntry(ByteStreamer &Streamer, const DebugLocEntry &Entry); | ||||
/// \brief emit a single value for the debug loc section. | |||||
void emitDebugLocValue(ByteStreamer &Streamer, | |||||
const DebugLocEntry::Value &Value); | |||||
/// Emits an optimal (=sorted) sequence of DW_OP_pieces. | |||||
void emitLocPieces(ByteStreamer &Streamer, | |||||
const DITypeIdentifierMap &Map, | |||||
ArrayRef<DebugLocEntry::Value> Values); | |||||
/// Emit the location for a debug loc entry, including the size header. | /// Emit the location for a debug loc entry, including the size header. | ||||
void emitDebugLocEntryLocation(const DebugLocEntry &Entry); | void emitDebugLocEntryLocation(const DebugLocEntry &Entry); | ||||
Context not available. |