[DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in optimized...
authorJeremy Morse <jeremy.morse.llvm@gmail.com>
Wed, 13 Mar 2019 11:43:13 +0000 (11:43 +0000)
committerJeremy Morse <jeremy.morse.llvm@gmail.com>
Wed, 13 Mar 2019 11:43:13 +0000 (11:43 +0000)
commit66943c32d2adf2cc600be66db71729d276e42997
tree38f1bd831806b5832014a5c0627a8f8e093780cb
parent360ce82db2b742655d33b4a0977bbcf9e7af82d1
[DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in optimized code

This patch adds a section, ``Object lifetime in optimized code'', that
documents how such intrinsics are supposed to be handled. It sets out some of
the principles of how they specify variable locations, and how long those
locations are valid for.

This patch also documents one of the objectives behind the variable-location
design, that we should never allow the debugger to observe a state of the
program that would not have appeared without optimization.

Differential Revision: https://reviews.llvm.org/D58726

llvm-svn: 356041
llvm/docs/SourceLevelDebugging.rst