diff options
Diffstat (limited to 'include/llvm/CodeGen/MachineDebugInfo.h')
-rw-r--r-- | include/llvm/CodeGen/MachineDebugInfo.h | 17 |
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 |