[all-commits] [llvm/llvm-project] 471217: Revert "Revert "[IndVars] Replace PHIs if loop exi...

Max Kazantsev via All-commits all-commits at lists.llvm.org
Sun Sep 19 22:01:36 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 471217cff8e5c827f2ee52175a1c94584699cab2
      https://github.com/llvm/llvm-project/commit/471217cff8e5c827f2ee52175a1c94584699cab2
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2021-09-20 (Mon, 20 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll

  Log Message:
  -----------
  Revert "Revert "[IndVars] Replace PHIs if loop exits on 1st iteration""

This reverts commit 6fec6552f54885ae06bf76b35f9f1173a0561a4c.

The patch was reverted on incorrect claim that this patch may break LCSSA form
when the loop is not in a simplify form. All IndVars' transform insure that
the loop is in simplify and LCSSA form, so if it wasn't broken before this
transform, it will also not be broken after it.


  Commit: e9d34c54290e277e075aed33036fddae77b5f582
      https://github.com/llvm/llvm-project/commit/e9d34c54290e277e075aed33036fddae77b5f582
  Author: Max Kazantsev <mkazantsev at azul.com>
  Date:   2021-09-20 (Mon, 20 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll

  Log Message:
  -----------
  [NFC] Add assert and test showing that revert of D109596 wasn't justified

All transforms of IndVars have prerequisite requirement of LCSSA and LoopSimplify
form and rely on it. Added test that shows that this actually stands.


Compare: https://github.com/llvm/llvm-project/compare/74670e79b0a0...e9d34c54290e


More information about the All-commits mailing list