[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