[all-commits] [llvm/llvm-project] ce2452: [Test] Add test for unreachable backedge with dupl...
max-azul via All-commits
all-commits at lists.llvm.org
Mon May 24 22:44:04 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ce245246043d3c4f12515b2c773ed6c9174345b5
https://github.com/llvm/llvm-project/commit/ce245246043d3c4f12515b2c773ed6c9174345b5
Author: Max Kazantsev <mkazantsev at azul.com>
Date: 2021-05-25 (Tue, 25 May 2021)
Changed paths:
M llvm/test/Transforms/LoopDeletion/eval_first_iteration.ll
Log Message:
-----------
[Test] Add test for unreachable backedge with duplicating predecessors
Commit: 2531fd70d19aa5d61feb533bbdeee7717a4129eb
https://github.com/llvm/llvm-project/commit/2531fd70d19aa5d61feb533bbdeee7717a4129eb
Author: Max Kazantsev <mkazantsev at azul.com>
Date: 2021-05-25 (Tue, 25 May 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopDeletion.cpp
M llvm/test/Transforms/LoopDeletion/eval_first_iteration.ll
M llvm/test/Transforms/LoopDeletion/noop-loops-with-subloops.ll
M llvm/test/Transforms/LoopDeletion/zero-btc.ll
Log Message:
-----------
[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
Compare: https://github.com/llvm/llvm-project/compare/90d784053f07...2531fd70d19a
More information about the All-commits
mailing list