[all-commits] [llvm/llvm-project] 975cc7: Simplify test with deopt state in D147662. NFC

annamthomas via All-commits all-commits at lists.llvm.org
Mon Apr 10 07:37:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 975cc76020a0a5f4a272a6888548307dabfb0b52
      https://github.com/llvm/llvm-project/commit/975cc76020a0a5f4a272a6888548307dabfb0b52
  Author: Anna Thomas <anna at azul.com>
  Date:   2023-04-10 (Mon, 10 Apr 2023)

  Changed paths:
    M llvm/test/Transforms/LoopPredication/pr61963.ll

  Log Message:
  -----------
  Simplify test with deopt state in D147662. NFC


  Commit: 27f8a62a541e650d8d6ee4b7001b78e976519306
      https://github.com/llvm/llvm-project/commit/27f8a62a541e650d8d6ee4b7001b78e976519306
  Author: Anna Thomas <anna at azul.com>
  Date:   2023-04-10 (Mon, 10 Apr 2023)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/test/Transforms/LoopPredication/pr61963.ll
    M llvm/test/Transforms/LoopPredication/predicate-exits.ll

  Log Message:
  -----------
  [LoopPredication] Fix where we generate widened condition. PR61963

Loop predication's predicateLoopExit pass does two incorrect things:

It sinks the widenable call into the loop, thereby converting an invariant condition to a variant one
It widens the widenable call at a branch thereby converting the branch into a loop-varying one.

The latter is problematic when the branch may have been loop-invariant
and prior optimizations (such as indvars) may have relied on this
fact, and updated the deopt state accordingly.

Now, when we widen this with a loop-varying condition, the deopt state
is no longer correct.
https://github.com/llvm/llvm-project/issues/61963 fixed.

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


Compare: https://github.com/llvm/llvm-project/compare/3442aba806b9...27f8a62a541e


More information about the All-commits mailing list