[PATCH] D111810: [DebugInfo][LSR] Add more stringent checks on IV selection and cached dbg.value location-op SCEVs

Chris Jackson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 14 08:14:08 PDT 2021


chrisjackson created this revision.
chrisjackson added reviewers: jmorse, StephenTozer, dblaikie, TWeaver, Orlando, aprantl.
chrisjackson added a project: debug-info.
Herald added subscribers: javed.absar, hiraditya.
chrisjackson requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Reported in Bug PR52161 <https://bugs.llvm.org/show_bug.cgi?id=52161>, there were two issues.

1. That IVs with SCEVs containing 'undef' could be selected. This would lead to fruitless salvage attempts.
2. Sometimes dbg.value arguments were cached along with a SCEVUnknown type for the value. Effectively this SCEV is a value, so no scev-based salvaging can usefully be performed in this case.




https://reviews.llvm.org/D111810

Files:
  llvm/include/llvm/Analysis/ScalarEvolution.h
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  llvm/test/Transforms/LoopStrengthReduce/pr52161.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111810.379724.patch
Type: text/x-patch
Size: 7406 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211014/d8d9fd49/attachment.bin>


More information about the llvm-commits mailing list