]> granicus.if.org Git - llvm/commit
[IndVars] Split loop predication out of optimizeLoopExits [NFC]
authorPhilip Reames <listmail@philipreames.com>
Thu, 17 Oct 2019 17:29:07 +0000 (17:29 +0000)
committerPhilip Reames <listmail@philipreames.com>
Thu, 17 Oct 2019 17:29:07 +0000 (17:29 +0000)
commit068177b3706e4e98c183fbc42a8cfaa19d0f545c
tree51955bad317b7bc20ef73c80125345a3f4f4791b
parentc21ecb75c292a647621fe11449cc00d14e5dc2a5
[IndVars] Split loop predication out of optimizeLoopExits [NFC]

In the process of writing D69009, I realized we have two distinct sets of invariants within this single function, and basically no shared logic.  The optimize loop exit transforms (including the new one in D69009) only care about *analyzeable* exits.  Loop predication, on the other hand, has to reason about *all* exits.  At the moment, we have the property (due to the requirement for an exact btc) that all exits are analyzeable, but that will likely change in the future as we add widenable condition support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375138 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/IndVarSimplify.cpp