HomePhabricator

Reland [DebugInfo] Improve dbg preservation in LSR.

Authored by markus on Dec 14 2020, 6:37 AM.

Description

Reland [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 rewrite (but after introduction of new
induction variables) use SCEV to compute an equivalent set of values for
each @llvm.dbg.value in the loop body (among the loop header PHI-nodes).
After rewrite (and dead PHI elimination) update those @llvm.dbg.value
now referencing undef by picking a remaining value from its equivalence
set. Allow match with offset by inserting compensation code in the
DIExpression.

Fixes : PR38815

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

Details

Committed
markusDec 14 2020, 7:15 AM
Differential Revision
D87494: Improve LSR debug-info
Parents
rG2664f5d43652: generate_header_tests.py: Sort the header files ASCIIbetically.
Branches
Unknown
Tags
Unknown