aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/MachineDebugInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen/MachineDebugInfo.h')
-rw-r--r--include/llvm/CodeGen/MachineDebugInfo.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/MachineDebugInfo.h b/include/llvm/CodeGen/MachineDebugInfo.h
index e63fae3eea..2e20e94e78 100644
--- a/include/llvm/CodeGen/MachineDebugInfo.h
+++ b/include/llvm/CodeGen/MachineDebugInfo.h
@@ -773,16 +773,21 @@ public:
/// GlobalVariables are valid as DebugInfoDesc objects.
class DIVerifier {
private:
+ enum {
+ Unknown = 0,
+ Invalid,
+ Valid
+ };
unsigned DebugVersion; // Version of debug information in use.
- std::set<GlobalVariable *> Visited; // Tracks visits during recursion.
+ std::map<GlobalVariable *, unsigned> Validity;// Tracks prior results.
std::map<unsigned, unsigned> Counts; // Count of fields per Tag type.
-
- /// markVisited - Return true if the GlobalVariable hase been "seen" before.
- /// Mark markVisited otherwise.
- bool markVisited(GlobalVariable *GV);
public:
- DIVerifier() : DebugVersion(LLVMDebugVersion) {}
+ DIVerifier()
+ : DebugVersion(LLVMDebugVersion)
+ , Validity()
+ , Counts()
+ {}
~DIVerifier() {}
/// Verify - Return true if the GlobalVariable appears to be a valid