[llvm] c67c5b4 - [llvm][RISCV] Correct the order of statement in insertVSETMTK (#163215)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 13 10:30:18 PDT 2025


Author: Brandon Wu
Date: 2025-10-13T17:30:14Z
New Revision: c67c5b47ad6cc1316f21c2cdd993d994755c976b

URL: https://github.com/llvm/llvm-project/commit/c67c5b47ad6cc1316f21c2cdd993d994755c976b
DIFF: https://github.com/llvm/llvm-project/commit/c67c5b47ad6cc1316f21c2cdd993d994755c976b.diff

LOG: [llvm][RISCV] Correct the order of statement in insertVSETMTK (#163215)

We need to set register to noreg before shrinking interval

Added: 
    

Modified: 
    llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp b/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
index 278cf6dc1d786..9ed3b97d1dc79 100644
--- a/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
+++ b/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
@@ -1945,9 +1945,12 @@ bool RISCVInsertVSETVLI::insertVSETMTK(MachineBasicBlock &MBB,
                      .addImm(Log2_32(CurrInfo.getTWiden()) + 1);
 
     Changed = true;
+    Register Reg = Op.getReg();
+    Op.setReg(Register());
+    Op.setIsKill(false);
     if (LIS) {
       LIS->InsertMachineInstrInMaps(*TmpMI);
-      LiveInterval &LI = LIS->getInterval(Op.getReg());
+      LiveInterval &LI = LIS->getInterval(Reg);
 
       // Erase the AVL operand from the instruction.
       LIS->shrinkToUses(&LI);
@@ -1955,9 +1958,6 @@ bool RISCVInsertVSETVLI::insertVSETMTK(MachineBasicBlock &MBB,
       // SmallVector<LiveInterval *> SplitLIs;
       // LIS->splitSeparateComponents(LI, SplitLIs);
     }
-
-    Op.setReg(RISCV::NoRegister);
-    Op.setIsKill(false);
   }
   return Changed;
 }


        


More information about the llvm-commits mailing list