aboutsummaryrefslogtreecommitdiff
path: root/llvm/include
diff options
context:
space:
mode:
authorDaniel Thornburgh <dthorn@google.com>2022-08-05 14:58:44 -0700
committerTobias Hieta <tobias@hieta.se>2022-09-07 08:37:30 +0200
commit7ce1ec5a2a22fec588bd5f87a50052a97f7dd846 (patch)
treec450eb2b639c3893025a6face070fd9e3f70f5b1 /llvm/include
parent55b8f29a9c4c131b744d4e705e1dfa9bb6ff8459 (diff)
downloadllvm-7ce1ec5a2a22fec588bd5f87a50052a97f7dd846.zip
llvm-7ce1ec5a2a22fec588bd5f87a50052a97f7dd846.tar.gz
llvm-7ce1ec5a2a22fec588bd5f87a50052a97f7dd846.tar.bz2
[Symbolizer] Handle {{{bt}}} symbolizer markup element.
This adds support for backtrace generation to the llvm-symbolizer markup filter, which is likely the largest use case. Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D132706 (cherry picked from commit ea99225521cba6dec1ad4ca70a8665829e772fa9)
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h b/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
index b597e9b..a54f8f5 100644
--- a/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
+++ b/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
@@ -97,6 +97,7 @@ private:
bool tryPresentation(const MarkupNode &Node);
bool trySymbol(const MarkupNode &Node);
bool tryPC(const MarkupNode &Node);
+ bool tryBackTrace(const MarkupNode &Node);
bool tryData(const MarkupNode &Node);
bool trySGR(const MarkupNode &Node);
@@ -118,6 +119,7 @@ private:
Optional<SmallVector<uint8_t>> parseBuildID(StringRef Str) const;
Optional<std::string> parseMode(StringRef Str) const;
Optional<PCType> parsePCType(StringRef Str) const;
+ Optional<uint64_t> parseFrameNumber(StringRef Str) const;
bool checkTag(const MarkupNode &Node) const;
bool checkNumFields(const MarkupNode &Element, size_t Size) const;