[PATCH] D125703: [RISCV] Fix missing vsetvli in transparent block case

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 16 10:16:09 PDT 2022


reames created this revision.
reames added reviewers: craig.topper, 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, kito-cheng, niosHD, sabuasal, bollu, simoncook, johnrusso, rbar, asb, 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.

We've got a lurking problem with our data flow implementation where different phases disagree, resulting in possible miscompiles. D119518 <https://reviews.llvm.org/D119518> introduced a workaround, but failed to consider blocks which only contain load/stores compatible with their incoming state.

When I went to rebase and simplify D125232 <https://reviews.llvm.org/D125232>, it turned out that not all of the correctness issues had been fixed yet after all.  This is the correctness fix accidentally embedded in the original more complicated version.

Note that the test changes here are mostly regressions.  It's worth noting that the simplified version of D125232 <https://reviews.llvm.org/D125232> exactly reverses all the non-functional diffs in the test caused here.  I expect to land them both close in time.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D125703

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125703.429758.patch
Type: text/x-patch
Size: 11812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220516/779ca27c/attachment.bin>


More information about the llvm-commits mailing list