[all-commits] [llvm/llvm-project] a3caf7: [DebugInfo] Improve dbg preservation in LSR.
elavkje via All-commits
all-commits at lists.llvm.org
Mon Oct 5 00:55:56 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a3caf7f6102dc863425f9714b099af58397f0cd2
https://github.com/llvm/llvm-project/commit/a3caf7f6102dc863425f9714b099af58397f0cd2
Author: Markus Lavin <markus.lavin at ericsson.com>
Date: 2020-10-05 (Mon, 05 Oct 2020)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
A llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
Log Message:
-----------
[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.
Fixes : PR38815
Differential Revision: https://reviews.llvm.org/D87494
More information about the All-commits
mailing list