[Symbolizer] Implement pc element in symbolizing filter.
authorDaniel Thornburgh <dthorn@google.com>
Mon, 1 Aug 2022 21:35:25 +0000 (14:35 -0700)
committerDaniel Thornburgh <dthorn@google.com>
Mon, 8 Aug 2022 18:08:48 +0000 (11:08 -0700)
commitbf48b128b02813e53e0c8f6585db837d14c9358f
tree2673e2306bea1d3a8f1ec05617671dc854170656
parent257251247a267c3fa30fdeef17ffa4987d8a52e5
[Symbolizer] Implement pc element in symbolizing filter.

Implements the pc element for the symbolizing filter, including it's
"ra" and "pc" modes. Return addresses ("ra") are adjusted by
decrementing one. By default, {{{pc}}} elements are assumed to point to
precise code ("pc") locations. Backtrace elements will adopt the
opposite convention.

Along the way, some minor refactors of value printing and colorization.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D131115
llvm/docs/CommandGuide/llvm-symbolizer.rst
llvm/docs/SymbolizerMarkupFormat.rst
llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp
llvm/test/DebugInfo/symbolize-filter-markup-data.test
llvm/test/DebugInfo/symbolize-filter-markup-pc.test [new file with mode: 0644]