[PATCH] D150681: [SCEVExpander] Remember phi nodes inserted by LCSSA construction

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 16 08:16:44 PDT 2023


nikic created this revision.
nikic added a reviewer: fhahn.
Herald added subscribers: hoy, StephenFan, javed.absar, hiraditya.
Herald added a project: All.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

SCEVExpander keeps track of all instructions it inserted. However, it currently misses some phi nodes created during LCSSA construction. Fix this by collecting these into another argument.

This is a bit awkward because the LCSSA phi nodes themselves go through the Builder and its insertion callback, so we only need to deal with the phi nodes created by SSAUpdater.

This was reported as a regression on D149344 <https://reviews.llvm.org/D149344>, but the reduced test case also reproduces without it.


https://reviews.llvm.org/D150681

Files:
  llvm/include/llvm/Transforms/Utils/LoopUtils.h
  llvm/lib/Transforms/Utils/LCSSA.cpp
  llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
  llvm/test/Transforms/LoopIdiom/remove-inserted-lcssa.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150681.522632.patch
Type: text/x-patch
Size: 6870 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230516/e2c3fd3e/attachment-0001.bin>


More information about the llvm-commits mailing list