[PATCH] D89048: [ARM][LowOverheadLoops] Insert loop start at end of block in more cases

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 9 01:19:27 PDT 2020


dmgreen added a comment.

> Insert loop start at end of block in more cases

Hmm. Just a quick check - do we want that? I can see it improves some tail predication cases, that's good. But do we want that in general? The DLS instructions have a latency like any other, and earlier is better from that perspective. Or are we assuming that that latency will never matter into the LE instruction?



================
Comment at: llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir:146-147
   ; CHECK:   t2STRi12 renamable $lr, killed renamable $r3, 0, 14 /* CC::al */, $noreg :: (store 4 into %ir.iter.addr)
-  ; CHECK:   $lr = t2DLS killed renamable $lr
   ; CHECK:   $r2 = tMOVr killed $lr, 14 /* CC::al */, $noreg
+  ; CHECK:   dead $lr = MVE_DLSTP_32 killed renamable $r12
   ; CHECK: bb.1.do.body:
----------------
These tests are hard to be sure, but it looks like the old version was doing something with lr but that might now be a different value?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89048/new/

https://reviews.llvm.org/D89048



More information about the llvm-commits mailing list