LLVM
8.0.1
|
Represents the location at which a variable is stored. More...
#include "llvm/CodeGen/DebugHandlerBase.h"
Static Public Member Functions | |
static Optional< DbgVariableLocation > | extractFromMachineInstruction (const MachineInstr &Instruction) |
Extract a VariableLocation from a MachineInstr. More... | |
Public Attributes | |
unsigned | Register |
Base register. More... | |
SmallVector< int64_t, 1 > | LoadChain |
Chain of offsetted loads necessary to load the value if it lives in memory. More... | |
llvm::Optional< llvm::DIExpression::FragmentInfo > | FragmentInfo |
Present if the location is part of a larger variable. More... | |
Represents the location at which a variable is stored.
Definition at line 32 of file DebugHandlerBase.h.
|
static |
Extract a VariableLocation from a MachineInstr.
This will only work if Instruction is a debug value instruction and the associated DIExpression is in one of the supported forms. If these requirements are not met, the returned Optional will not have a value.
Definition at line 31 of file DebugHandlerBase.cpp.
References llvm::dwarf::DW_OP_LLVM_fragment, llvm::DIExpression::expr_op_begin(), llvm::DIExpression::expr_op_end(), FragmentInfo, llvm::MachineInstr::getDebugExpression(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineInstr::isDebugValue(), llvm::MachineInstr::isIndirectDebugValue(), llvm::MachineOperand::isReg(), LoadChain, llvm::None, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Register, and llvm::Optional< T >::reset().
Referenced by needsReferenceType().
llvm::Optional<llvm::DIExpression::FragmentInfo> llvm::DbgVariableLocation::FragmentInfo |
Present if the location is part of a larger variable.
Definition at line 41 of file DebugHandlerBase.h.
Referenced by extractFromMachineInstruction().
SmallVector<int64_t, 1> llvm::DbgVariableLocation::LoadChain |
Chain of offsetted loads necessary to load the value if it lives in memory.
Every load except for the last is pointer-sized.
Definition at line 38 of file DebugHandlerBase.h.
Referenced by canUseReferenceType(), extractFromMachineInstruction(), and needsReferenceType().
unsigned llvm::DbgVariableLocation::Register |
Base register.
Definition at line 34 of file DebugHandlerBase.h.
Referenced by extractFromMachineInstruction().