[PATCH] D87753: [ARM] Add more validForTailPredication

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 16 23:47:24 PDT 2020


samparker added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMInstrVFP.td:2494
+ let Predicates = [HasV8_1MMainline, HasMVEInt],
+                   D=MVEDomain, validForTailPredication=1 in {
    // System level VPR/P0 -> GPR
----------------
dmgreen wrote:
> Can you explain what ramifications making these validForTailPredication has? And why it helps to make these part of the MVEDomain? (The are really just VFP instructions. They are unpredictable for non-mve, but given the options I think I would move these and scalar shifts out of the MVE domain!)
> 
> They sound like they would need to be handled specially in the backend pass anyway, but that pass is a bit complex for me to follow at this point.
It makes checking for instructions easier, as we ignore any non-mve instructions as they shouldn't affect anything with tail predication. These load/store/move can have an affect because they access VPR/P0. All these require MVE so I'm not sure I understand why you'd prefer them out of the MVEDomain?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87753



More information about the llvm-commits mailing list