summaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/Symbolize/Markup.cpp
AgeCommit message (Collapse)Author
2024-11-17[DebugInfo] Remove unused includes (NFC) (#116551)Kazu Hirata
Identified with misc-include-cleaner.
2022-12-04[llvm] Use std::nullopt instead of None in comments (NFC)Kazu Hirata
This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-12-05[DebugInfo] llvm::Optional => std::optionalFangrui Song
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-12-02[DebugInfo] Use std::nullopt instead of None (NFC)Kazu Hirata
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
2022-07-21[Symbolizer] Implement contextual symbolizer markup elements.Daniel Thornburgh
This change implements the contextual symbolizer markup elements: reset, module, and mmap. These provide information about the runtime context of the binary necessary to resolve addresses to symbolic values. Summary information is printed to the output about this context. Multiple mmap elements for the same module line are coalesced together. The standard requires that such elements occur on their own lines to allow for this; accordingly, anything after a contextual element on a line is silently discarded. Implementing this cleanly requires that the filter drive the parser; this allows skipped sections to avoid being parsed. This also makes the filter quite a bit easier to use, at the cost of some unused flexibility. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D129519
2022-06-22[Symbolize] Parse multi-line markup elements.Daniel Thornburgh
This allows registering certain tags as possibly beginning multi-line elements in the symbolizer markup parser. The parser is kept agnostic to how lines are delimited; it reports the entire contents, including line endings, once the end of element marker is reached. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D124798
2022-06-17[Symbolize] Parser for log symbolizer markup.Daniel Thornburgh
This adds a parser for the log symbolizer markup format discussed in https://discourse.llvm.org/t/rfc-log-symbolizer/61282. The parser operates in a line-by-line fashion with minimal memory requirements. This doesn't yet include support for multi-line tags or specific parsing for ANSI X3.64 SGR control sequences, but it can be extended to do so. The latter can also be relatively easily handled by examining the resulting text elements. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D124686