mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
If location info is attached with an instruction then keep track of alloca slots used by a variable. This info will be used by AsmPrinter to emit debug info for variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83189 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -48,6 +48,7 @@ namespace llvm {
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Forward declarations.
|
||||
class Constant;
|
||||
class MDNode;
|
||||
class GlobalVariable;
|
||||
class MachineBasicBlock;
|
||||
class MachineFunction;
|
||||
@ -142,9 +143,13 @@ class MachineModuleInfo : public ImmutablePass {
|
||||
/// DbgInfoAvailable - True if debugging information is available
|
||||
/// in this module.
|
||||
bool DbgInfoAvailable;
|
||||
|
||||
public:
|
||||
static char ID; // Pass identification, replacement for typeid
|
||||
|
||||
typedef DenseMap<MDNode *, std::pair<MDNode *, unsigned> > VariableDbgInfoMapTy;
|
||||
VariableDbgInfoMapTy VariableDbgInfo;
|
||||
|
||||
MachineModuleInfo();
|
||||
~MachineModuleInfo();
|
||||
|
||||
@ -325,6 +330,15 @@ public:
|
||||
/// of one is required to emit exception handling info.
|
||||
Function *getPersonality() const;
|
||||
|
||||
/// setVariableDbgInfo - Collect information used to emit debugging information
|
||||
/// of a variable.
|
||||
void setVariableDbgInfo(MDNode *N, MDNode *L, unsigned S) {
|
||||
if (N && L)
|
||||
VariableDbgInfo[N] = std::make_pair(L, S);
|
||||
}
|
||||
|
||||
VariableDbgInfoMapTy &getVariableDbgInfo() { return VariableDbgInfo; }
|
||||
|
||||
}; // End class MachineModuleInfo
|
||||
|
||||
} // End llvm namespace
|
||||
|
Reference in New Issue
Block a user