diff options
author | Markus Lavin <markus.lavin@ericsson.com> | 2020-10-08 12:49:51 +0200 |
---|---|---|
committer | Markus Lavin <markus.lavin@ericsson.com> | 2020-10-08 13:16:43 +0200 |
commit | 06758c6a6135f59deec8e73d4fcb69946ab47f54 (patch) | |
tree | 6c475704ff683406fc9e55a1aa23d8e9ffebf0ed /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 1e75668821f7c2abfdb4a25af76239b9120ae0ca (diff) | |
download | llvm-06758c6a6135f59deec8e73d4fcb69946ab47f54.zip llvm-06758c6a6135f59deec8e73d4fcb69946ab47f54.tar.gz llvm-06758c6a6135f59deec8e73d4fcb69946ab47f54.tar.bz2 |
[DebugInfo] Improve dbg preservation in LSR.
Use SCEV to salvage additional @llvm.dbg.value that have turned into
referencing undef after transformation (and traditional
salvageDebugInfo). Before transformation compute SCEV for each
@llvm.dbg.value in the loop body and store it (along side its current
DIExpression). After transformation update those @llvm.dbg.value now
referencing undef by comparing its stored SCEV to the SCEV of the
current loop-header PHI-nodes. Allow match with offset by inserting
compensation code in the DIExpression.
Includes fix for the nullptr deref that caused the original commit
to be reverted in 9d63029770.
Fixes : PR38815
Differential Revision: https://reviews.llvm.org/D87494
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions