diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2018-11-01 06:47:01 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-11-01 06:47:01 +0000 |
commit | 3d347bf545d51156b3c1bf6ed93100369568a550 (patch) | |
tree | 6345424779cffca969eda3fe6f73518cd2a26fc8 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | e0a2613aeaae93bf75ccc6c616fec3c45147a3df (diff) | |
download | llvm-3d347bf545d51156b3c1bf6ed93100369568a550.zip llvm-3d347bf545d51156b3c1bf6ed93100369568a550.tar.gz llvm-3d347bf545d51156b3c1bf6ed93100369568a550.tar.bz2 |
[IndVars] Smart hard uses detection
When rewriting loop exit values, IndVars considers this transform not profitable if
the loop instruction has a loop user which it believes cannot be optimized away.
In current implementation only calls that immediately use the instruction are considered
as such.
This patch extends the definition of "hard" users to any side-effecting instructions
(which usually cannot be optimized away from the loop) and also allows handling
of not just immediate users, but use chains.
Differentlai Revision: https://reviews.llvm.org/D51584
Reviewed By: etherzhhb
llvm-svn: 345814
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions