[PATCH] D133808: [RISCV][InsertVSETVLI] Operations with no tail elements are tail agnostic

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 13 13:54:40 PDT 2022


reames created this revision.
reames added reviewers: craig.topper, kito-cheng, asb, frasercrmck.
Herald added subscribers: sunshaoce, VincentWu, luke957, StephenFan, vkmr, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, bollu, simoncook, johnrusso, rbar, hiraditya, arichardson, mcrosier.
Herald added a project: All.
reames requested review of this revision.
Herald added subscribers: pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.

Most vector instructions define tail elements at those being past VL.  (vmv.s.f and vmv.s.x are defined differently.)  When VL==VLMAX, there are no tail elements, so tail agnostic and tail undisturbed are equivalent.  Canonicalize to TA as that gives us more flexibility.

Honestly, this should really be done earlier, but then we'd need to have policy flags on all the psuedos.  I started down that path, and then decided this was radically simpler.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133808

Files:
  llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
  llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
  llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133808.459868.patch
Type: text/x-patch
Size: 58121 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220913/843b429a/attachment.bin>


More information about the llvm-commits mailing list