LLVM debug information visual analyzer
For more information, see the RFC https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570
Patches:
01 - Interval Tree
02 - Driver and Documentation
03 - Logical Elements
04 - Locations and Ranges
05 - Select Elements
06 - Warning and Internal Options
07 - Compare Elements
08 - ELF Reader
09 - CodeView Reader
10 - Smart Pointers
This is a high level summary of the changes in this patch.
Interval tree
Implementation for an Interval Tree (light tree data structure to hold intervals).
I think this description sounds too much like what std::map does. Also I think it's worth mentioning that they are closed intervals.
Suggested synopsis: "Closed intervals delimited by PointT objects are mapped to ValueT objects. "
Also, should state the restriction enforced by IntervalData, i.e., that PointT and ValueT must be fundamental or pointer types. (A pointer type for PointT would be risky, as pointer comparison results are "unspecified" if the two pointers address different objects that are not in the same array. The only really safe pointer type for PointT would be void*. Maybe you want to disallow pointer types? Or only void* ?)