diff options
author | gbtozers <stephen.tozer@sony.com> | 2020-09-30 16:29:53 +0100 |
---|---|---|
committer | Stephen Tozer <Stephen.Tozer@Sony.com> | 2021-03-05 17:02:24 +0000 |
commit | 65600cb2a7e940babf6c493503b9d3fd19f8cb06 (patch) | |
tree | fa869889dc445a93229a2a421a398b5905187cc9 /llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp | |
parent | adc35b689f3a31c57fe56a8850c9c17fffea7199 (diff) | |
download | llvm-65600cb2a7e940babf6c493503b9d3fd19f8cb06.zip llvm-65600cb2a7e940babf6c493503b9d3fd19f8cb06.tar.gz llvm-65600cb2a7e940babf6c493503b9d3fd19f8cb06.tar.bz2 |
[DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics
This patch adds a new metadata node, DIArgList, which contains a list of SSA
values. This node is in many ways similar in function to the existing
ValueAsMetadata node, with the difference being that it tracks a list instead of
a single value. Internally, it uses ValueAsMetadata to track the individual
values, but there is also a reasonable amount of DIArgList-specific
value-tracking logic on top of that. Similar to ValueAsMetadata, it is a special
case in parsing and printing due to the fact that it requires a function state
(as it may reference function-local values).
This patch should not result in any immediate functional change; it allows for
DIArgLists to be parsed and printed, but debug variable intrinsics do not yet
recognize them as a valid argument (outside of parsing).
Differential Revision: https://reviews.llvm.org/D88175
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp index a96e682..f577d38 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp @@ -362,6 +362,7 @@ static Optional<const char *> GetCodeName(unsigned CodeID, unsigned BlockID, STRINGIFY_CODE(METADATA, GLOBAL_VAR_EXPR) STRINGIFY_CODE(METADATA, INDEX_OFFSET) STRINGIFY_CODE(METADATA, INDEX) + STRINGIFY_CODE(METADATA, ARG_LIST) } case bitc::METADATA_KIND_BLOCK_ID: switch (CodeID) { |