[PATCH] D71538: [SCEVExpander] Preserve LCSSA directly.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 20 05:40:00 PDT 2020


fhahn updated this revision to Diff 279206.
fhahn marked 3 inline comments as done.
fhahn added a comment.

Introduce expandCodeForImpl, make Root non-optional, document `Root`.

In D71538#2155291 <https://reviews.llvm.org/D71538#2155291>, @mkazantsev wrote:

> Could you please add some `.ll` tests showing how this change impacts the code being generated (if it is possible)?


Thank you very much for taking a look!

This change should be NFC (I'll adjust the commit message) with current SCEV, where we do not look through LCSSA phis. This means there should be no cases where we would need to insert/get LCSSA phis (there are no code changes on SPEC2000,SPEC2006,MultiSource with -O3 -flto on X86).

I also put up a follow-up patch (D71539 <https://reviews.llvm.org/D71539>), which changes SCEV to look through PHIs and then we  may need to get/insert LCSSA phis while expanding.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71538/new/

https://reviews.llvm.org/D71538

Files:
  llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
  llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
  llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
  llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71538.279206.patch
Type: text/x-patch
Size: 20931 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200720/113e50cf/attachment.bin>


More information about the llvm-commits mailing list