[PATCH] D71609: [ARM][MVE] Fixes for tail predication.

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 18 01:17:29 PST 2019


samparker marked 2 inline comments as done.
samparker added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMInstrThumb2.td:5212-5213
   bits<4> Rn;
   let isBranch = 0;
   let isTerminator = 0;
   let Inst{22-20} = 0b100;
----------------
dmgreen wrote:
> I'm surprised we haven't need this earlier!
> 
> Can these 2 lines be be removed now?
Cheers. Yeah, it's not until I've now enabled evaluating terminators that we're seeing it!


================
Comment at: llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir:145
     early-clobber renamable $r0 = t2STR_PRE killed renamable $r3, killed renamable $r0, 4, 14, $noreg :: (store 4 into %ir.scevgep4)
+    renamable $lr = tMOVr $lr, 14, $noreg
     t2LoopEnd killed renamable $lr, %bb.1, implicit-def dead $cpsr
----------------
dmgreen wrote:
> What's this about?
To make this test still test what it's designed for... This patch now allows this loop to be converted into a loloop, by using $lr = tMOVr in the preheader, so I've put a move in the loop, a use of lr, to prevent the transform from kicking in.


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

https://reviews.llvm.org/D71609





More information about the llvm-commits mailing list