[PATCH] D107016: [DebugInfo][LoopStrengthReduction] Ensure restoration of cached DIExpression when using SCEV-based salvaging
Orlando Cazalet-Hyams via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 10 01:58:29 PDT 2021
Orlando added a comment.
In D107016#2925136 <https://reviews.llvm.org/D107016#2925136>, @chrisjackson wrote:
> In D107016#2912731 <https://reviews.llvm.org/D107016#2912731>, @djtodoro wrote:
>
>> should we add a test case?
>
> I believe this is already covered somewhat by /test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll.
Does that test fail without this patch and pass with it applied? If that is the case, and you don't feel that a separate test is necessary, please can you add a comment explaining that it checks for the failure that this patch addresses too?
Here's the current comment in llvm/llvm-project/blame/main/llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll for reference:
; Test that LSR does not produce invalid debug info when a debug value is
; salvaged during LSR by adding additional location operands, then becomes
; undef, and finally recovered by SCEV salvaging.
================
Comment at: llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp:6190
+ // LSR may have updated the expression, so restore to the expression
+ // that corresponds to te cached SCEV.
+ DVIRec.DVI->setExpression(DVIRec.Expr);
----------------
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107016/new/
https://reviews.llvm.org/D107016
More information about the llvm-commits
mailing list