diff options
author | Scott Linder <Scott.Linder@amd.com> | 2023-05-17 21:33:09 +0000 |
---|---|---|
committer | Scott Linder <Scott.Linder@amd.com> | 2023-06-19 21:46:24 +0000 |
commit | 58669354bf1f8eef39979e31915b1e212a3985c9 (patch) | |
tree | 1ca1f5412bba13488131284731cdbc1692438b1c /llvm/lib/Bitcode/Reader/MetadataLoader.cpp | |
parent | 4b6d41cd1d73a72403679ec21732df3610fc0964 (diff) | |
download | llvm-58669354bf1f8eef39979e31915b1e212a3985c9.zip llvm-58669354bf1f8eef39979e31915b1e212a3985c9.tar.gz llvm-58669354bf1f8eef39979e31915b1e212a3985c9.tar.bz2 |
[DebugInfo] Add DW_OP_LLVM_user extension point
The extension codespace for DWARF expressions (DW_OP_LLVM_{lo,hi}_user)
has shrunk over time, as no extension is ever "retired" in practice. To
facilitate future extensions, this patch reserves one open opcode as an extension
point (0xfe), which is followed by a ULEB128-encoded SubOperation, and
then by the subop's operands.
There is some prior-art, namely DW_OP_AARCH64_operation
(see https://github.com/ARM-software/abi-aa/blob/edd7460d87493fff124b8b5713acf71ffc06ee91/aadwarf64/aadwarf64.rst#45dwarf-expression-operations).
This version makes some different tradeoffs, opting to use a ULEB128 for
the subop encoding for future-proofing.
Reviewed By: #debug-info, dblaikie
Differential Revision: https://reviews.llvm.org/D147271
Diffstat (limited to 'llvm/lib/Bitcode/Reader/MetadataLoader.cpp')
0 files changed, 0 insertions, 0 deletions