A piece of logic of isLoopInvariantExitCondDuringFirstIterations is actually
a generalized predicate monotonicity check. This patch moves it into the
corresponding method and generalizes it a bit.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Can we split restructuring and generalization (possibly adding a test for the generalization part)? It's hard to assess correctness when you combine the two in one change.
llvm/lib/Analysis/ScalarEvolution.cpp | ||
---|---|---|
9291–9325 | Maybe move ProvedNoWrap into a lambda? This way the checks can be turned into early exits which should make it easier to follow the logic. |
Maybe move ProvedNoWrap into a lambda? This way the checks can be turned into early exits which should make it easier to follow the logic.