diff options
author | Reid Kleckner <rnk@google.com> | 2017-09-05 20:14:58 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-09-05 20:14:58 +0000 |
commit | e33c94f1b06b4fd5f08cce1e0625c6b6ac474f77 (patch) | |
tree | c8ea712e4a10d46a47f9e962f9925f93bc3c032d /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | |
parent | 3f0e4ad833e0f367255522b4b3dd3e625a1c40c1 (diff) | |
download | llvm-e33c94f1b06b4fd5f08cce1e0625c6b6ac474f77.zip llvm-e33c94f1b06b4fd5f08cce1e0625c6b6ac474f77.tar.gz llvm-e33c94f1b06b4fd5f08cce1e0625c6b6ac474f77.tar.bz2 |
Add llvm.codeview.annotation to implement MSVC __annotation
Summary:
This intrinsic represents a label with a list of associated metadata
strings. It is modelled as reading and writing inaccessible memory so
that it won't be removed as dead code. I think the intention is that the
annotation strings should appear at most once in the debug info, so I
marked it noduplicate. We are allowed to inline code with annotations as
long as we strip the annotation, but that can be done later.
Reviewers: majnemer
Subscribers: eraman, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D36904
llvm-svn: 312569
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h index fe4f0a0..b87b1ce 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h @@ -119,6 +119,8 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase { SmallVector<LocalVariable, 1> Locals; + std::vector<std::pair<MCSymbol *, MDNode *>> Annotations; + const MCSymbol *Begin = nullptr; const MCSymbol *End = nullptr; unsigned FuncId = 0; |