diff options
author | Djordje Todorovic <djordje.todorovic@rt-rk.com> | 2019-06-27 13:52:34 +0000 |
---|---|---|
committer | Djordje Todorovic <djordje.todorovic@rt-rk.com> | 2019-06-27 13:52:34 +0000 |
commit | a0d45058ebb39dc18cbcdcba01d11d36eca001be (patch) | |
tree | a5a1d6c8bee81c6fd5322c99ec0887959905625f /llvm/docs | |
parent | c692a8dc51de996eed2214379c368c93e9a5354b (diff) | |
download | bcm5719-llvm-a0d45058ebb39dc18cbcdcba01d11d36eca001be.tar.gz bcm5719-llvm-a0d45058ebb39dc18cbcdcba01d11d36eca001be.zip |
[DWARF] Handle the DW_OP_entry_value operand
Add the IR and the AsmPrinter parts for handling of the DW_OP_entry_values
DWARF operation.
([11/13] Introduce the debug entry values.)
Co-authored-by: Ananth Sowda <asowda@cisco.com>
Co-authored-by: Nikola Prica <nikola.prica@rt-rk.com>
Co-authored-by: Ivan Baev <ibaev@cisco.com>
Differential Revision: https://reviews.llvm.org/D60866
llvm-svn: 364542
Diffstat (limited to 'llvm/docs')
-rw-r--r-- | llvm/docs/LangRef.rst | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 7b74971c817..2322bbfd7a6 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -4729,6 +4729,17 @@ The current supported opcode vocabulary is limited: of the stack is treated as an address. The second stack entry is treated as an address space identifier. - ``DW_OP_stack_value`` marks a constant value. +- If an expression is marked with ``DW_OP_entry_value`` all register and + memory read operations refer to the respective value at the function entry. + The first operand of ``DW_OP_entry_value`` is the size of following + DWARF expression. + ``DW_OP_entry_value`` may appear after the ``LiveDebugValues`` pass. + LLVM only supports entry values for function parameters + that are unmodified throughout a function and that are described as + simple register location descriptions. + ``DW_OP_entry_value`` may also appear after the ``AsmPrinter`` pass when + a call site parameter value (``DW_AT_call_site_parameter_value``) + is represented as entry value of the parameter. DWARF specifies three kinds of simple location descriptions: Register, memory, and implicit location descriptions. Note that a location description is |