aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorOCHyams <orlando.hyams@sony.com>2022-11-07 09:31:45 +0000
committerOCHyams <orlando.hyams@sony.com>2022-11-07 10:09:22 +0000
commitc37f29c49ea237eaf65dd137bffc1f3316f82951 (patch)
tree3e017e86e6a46b5f84ed5aab358b32de6bf07397 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentb46427b9a2fa2587e9087ab7e2bbb2c5abbb30e3 (diff)
downloadllvm-c37f29c49ea237eaf65dd137bffc1f3316f82951.zip
llvm-c37f29c49ea237eaf65dd137bffc1f3316f82951.tar.gz
llvm-c37f29c49ea237eaf65dd137bffc1f3316f82951.tar.bz2
[Assignment Tracking][4/*] Add llvm.dbg.assign intrinsic boilerplate
The Assignment Tracking debug-info feature is outlined in this RFC: https://discourse.llvm.org/t/ rfc-assignment-tracking-a-better-way-of-specifying-variable-locations-in-ir Add the llvm.dbg.assign intrinsic boilerplate. This updates the textual-bitcode roundtrip test to also check that round-tripping with the intrinsic works. The intrinsic marks the position of a source level assignment. The llvm.dbg.assign interface looks like this (each parameter is wrapped in MetadataAsValue, and Value * type parameters are first wrapped in ValueAsMetadata): void @llvm.dbg.assign(Value *Value, DIExpression *ValueExpression, DILocalVariable *Variable, DIAssignID *ID, Value *Address, DIExpression *AddressExpression) The first three parameters look and behave like an llvm.dbg.value. ID is a reference to a store. The intrinsic is "linked to" instructions in the same function that use the same ID as an attachment. That is mostly conceptual at this point; the two-way link infrastructure will come in another patch. Address is the destination address of the store and it is modified by AddressExpression. LLVM currently encodes variable fragment information in DIExpressions, so as an implementation quirk the FragmentInfo for Variable is contained within ValueExpression only. Reviewed By: jmorse Differential Revision: https://reviews.llvm.org/D132223
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions