aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <mkazantsev@azul.com>2021-05-25 12:22:41 +0700
committerMax Kazantsev <mkazantsev@azul.com>2021-05-25 12:43:31 +0700
commit2531fd70d19aa5d61feb533bbdeee7717a4129eb (patch)
tree7d855e631bccc0e92c33b3f44a75028863d19950 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parentce245246043d3c4f12515b2c773ed6c9174345b5 (diff)
downloadllvm-2531fd70d19aa5d61feb533bbdeee7717a4129eb.zip
llvm-2531fd70d19aa5d61feb533bbdeee7717a4129eb.tar.gz
llvm-2531fd70d19aa5d61feb533bbdeee7717a4129eb.tar.bz2
[LoopDeletion] Break backedge if we can prove that the loop is exited on 1st iteration
This patch handles one particular case of one-iteration loops for which SCEV cannot straightforwardly prove BECount = 1. The idea of the optimization is to symbolically execute conditional branches on the 1st iteration, moving in topoligical order, and only visiting blocks that may be reached on the first iteration. If we find out that we never reach header via the latch, then the backedge can be broken. Differential Revision: https://reviews.llvm.org/D102615 Reviewed By: reames
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions