[all-commits] [llvm/llvm-project] d5c56c: [SCEVExpander] Remember phi nodes inserted by LCSS...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu May 25 00:34:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d5c56c5162e535baec61e385f53e512adeaa2815
      https://github.com/llvm/llvm-project/commit/d5c56c5162e535baec61e385f53e512adeaa2815
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    A llvm/test/Transforms/LoopIdiom/remove-inserted-lcssa.ll

  Log Message:
  -----------
  [SCEVExpander] Remember phi nodes inserted by LCSSA construction

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 also removes the IRBuilder argument, which was added for
essentially the same purpose, but only handles the root LCSSA nodes,
not those inserted by SSAUpdater.

This was reported as a regression on D149344, but the reduced test
case also reproduces without it.

Differential Revision: https://reviews.llvm.org/D150681




More information about the All-commits mailing list