[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR
This patch extends salvaging of debuginfo in the Loop Strength Reduction (LSR) pass by translating Scalar Evaluations (SCEV) into DIExpressions. The method is as follows: - Cache dbg.value intrinsics that are salvageable. - Obtain a loop Induction Variable (IV) from ScalarExpressionExpander or the loop header. - Translate the IV SCEV into an expression that recovers the current loop iteration count. Combine this with the dbg.value's location op SCEV to create a DIExpression that salvages the value. Review by: jmorse Differential Revision: https://reviews.llvm.org/D105207
Loading