[PATCH] D44287: [LICM] Ignore exits provably not taken on first iteration when computing must execute

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 15 06:14:11 PDT 2018


anna accepted this revision.
anna added a comment.
This revision is now accepted and ready to land.

LGTM. Could you add a test to `scalar-promote.ll` as well? I think now we should be able to promote stores that are guaranteed to execute on first iteration (because the check the store is conditional on, does not exit the loop on first iteration).



================
Comment at: test/Transforms/LICM/hoist-mustexec.ll:220
+
+; This works because loop-simplify is run implicitly, but test for it anyways
+define i32 @test-multiple-latch(i32* noalias nocapture readonly %a) nounwind uwtable {
----------------
hmm, loop-simplify is pretty aggressive with `insertUniqueBackedgeBlock`. Interesting to know..


https://reviews.llvm.org/D44287





More information about the llvm-commits mailing list