diff options
author | Philip Reames <listmail@philipreames.com> | 2021-01-04 09:19:29 -0800 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2021-01-04 09:19:29 -0800 |
commit | dd6bb367d19e3bf18353e40de54d35480999a930 (patch) | |
tree | d4e16ec73dfba4b8cb2aa35538ea7f6da1de49aa /clang/lib/CodeGen/CGClass.cpp | |
parent | fe5d51a4897c26696fede55e120c912df60cd3f4 (diff) | |
download | llvm-dd6bb367d19e3bf18353e40de54d35480999a930.zip llvm-dd6bb367d19e3bf18353e40de54d35480999a930.tar.gz llvm-dd6bb367d19e3bf18353e40de54d35480999a930.tar.bz2 |
[LoopDeletion] Break backedge of loops when known not taken
The basic idea is that if SCEV can prove the backedge isn't taken, we can go ahead and get rid of the backedge (and thus the loop) while leaving the rest of the control in place. This nicely handles cases with dispatch between multiple exits and internal side effects.
Differential Revision: https://reviews.llvm.org/D93906
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
0 files changed, 0 insertions, 0 deletions