[all-commits] [llvm/llvm-project] e51d57: [IndVars] Split loop predication out of optimizeLo...

Philip Reames via All-commits all-commits at lists.llvm.org
Thu Oct 17 10:29:03 PDT 2019

  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e51d57d64a4d5934b3bb4cad5ab9db2d64f5dbf6
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2019-10-17 (Thu, 17 Oct 2019)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp

  Log Message:
  [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.

llvm-svn: 375138

More information about the All-commits mailing list