[PATCH] D153899: [RISCV] Remove legacy TA/TU pseudo distinction for unary instructions

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 27 13:08:52 PDT 2023


reames added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:3426
 // Transform (VMERGE_VVM_<LMUL>_TU false, false, true, allones, vl, sew) to
 // (MMV_V_V_<LMUL>_TU false, true, vl, sew). It may decrease uses of VMSET.
 bool RISCVDAGToDAGISel::performVMergeToVMv(SDNode *N) {
----------------
craig.topper wrote:
> While you're here, can you fix this typo. `MMV`->`VMV`
Fixed in 49428ba.


================
Comment at: llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir:778
   ; CHECK-NEXT:   [[PHI2:%[0-9]+]]:vr = PHI [[COPY3]], %bb.0, %16, %bb.1
+  ; CHECK-NEXT:   dead $x0 = PseudoVSETVLIX0 killed $x0, 208 /* e32, m1, ta, ma */, implicit-def $vl, implicit-def $vtype, implicit $vl
   ; CHECK-NEXT:   [[PseudoVLE32_V_M1_:%[0-9]+]]:vr = PseudoVLE32_V_M1 [[PHI]], 4, 5 /* e32 */, implicit $vl, implicit $vtype :: (load (s128) from %ir.lsr.iv12, align 4)
----------------
craig.topper wrote:
> What happened here?
It looks my hand update to the MIR was wrong.  The undef form is post register allocation, I should have used an implicit_def instruction here.  Same problem in vsetvli-insert.mir.

Thanks for catching this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153899



More information about the llvm-commits mailing list