[LFTR] Hoist extend expressions outside of loops w/o waiting for LICM
authorPhilip Reames <listmail@philipreames.com>
Wed, 3 Jul 2019 18:18:36 +0000 (18:18 +0000)
committerPhilip Reames <listmail@philipreames.com>
Wed, 3 Jul 2019 18:18:36 +0000 (18:18 +0000)
commit83cca94194b14aae5e0fd8d3feca9292a631578e
tree4cd8f430f74f2d497b4f6d4d3510194ca87847d3
parent2d57e7d6578e1e29e614c8f2a3578eaa27ec1396
[LFTR] Hoist extend expressions outside of loops w/o waiting for LICM

The motivation for this is two fold:
1) Make the output (and thus tests)  a bit more readable to a human trying to understand the result of the transform
2) Reduce spurious diffs in a potential future change to restructure all of this logic to use SCEVExpander (which hoists by default)

llvm-svn: 365066
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
llvm/test/Transforms/IndVarSimplify/elim-extend.ll
llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
llvm/test/Transforms/IndVarSimplify/iv-widen.ll
llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
llvm/test/Transforms/IndVarSimplify/lftr.ll
llvm/test/Transforms/IndVarSimplify/ult-sub-to-eq.ll