[PATCH] D133580: [VPlan] Only generate single instr for unpredicated stores of varying value to invariant address

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 9 08:28:30 PDT 2022


reames created this revision.
reames added reviewers: fhahn, david-arm, e7ite, gilr.
Herald added subscribers: tschuett, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, bollu, simoncook, johnrusso, rbar, asb, hiraditya, mcrosier.
Herald added a project: All.
reames requested review of this revision.
Herald added subscribers: pcwang-thead, alextsao1999, vkmr, MaskRay.
Herald added a project: LLVM.

This extends the previously added uniform store case to handle stores of loop varying values to a loop invariant address.  Note that the placement of this code only allows unpredicated stores; this is important for correctness.  (That is "IsPredicated" is always false at this point in the function.)

This patch does not include scalable types.  The diff felt "large enough" as it were; I'll handle that in a separate patch.  (It requires some changes to cost modeling.)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D133580

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
  llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
  llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
  llvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
  llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
  llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
  llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
  llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
  llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133580.459077.patch
Type: text/x-patch
Size: 18451 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220909/bbc47b36/attachment.bin>


More information about the llvm-commits mailing list