aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMarkus Lavin <markus.lavin@ericsson.com>2020-10-08 12:49:51 +0200
committerMarkus Lavin <markus.lavin@ericsson.com>2020-10-08 13:16:43 +0200
commit06758c6a6135f59deec8e73d4fcb69946ab47f54 (patch)
tree6c475704ff683406fc9e55a1aa23d8e9ffebf0ed /clang/lib/Frontend/CompilerInvocation.cpp
parent1e75668821f7c2abfdb4a25af76239b9120ae0ca (diff)
downloadllvm-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