[llvm] [RISCV] Ignore debug instructions in RISCVVLOptimizer (PR #159616)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 18 10:46:50 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Luke Lau (lukel97)
<details>
<summary>Changes</summary>
Don't put them onto the worklist, since they'll crash when we try to check their opcode.
Fixes #<!-- -->159422
---
Full diff: https://github.com/llvm/llvm-project/pull/159616.diff
2 Files Affected:
- (modified) llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp (+2-1)
- (modified) llvm/test/CodeGen/RISCV/rvv/vl-opt.mir (+8)
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp b/llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
index a1134663c0e7a..96ad5c680e383 100644
--- a/llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
+++ b/llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
@@ -1665,7 +1665,8 @@ bool RISCVVLOptimizer::runOnMachineFunction(MachineFunction &MF) {
for (MachineBasicBlock *MBB : post_order(&MF)) {
assert(MDT->isReachableFromEntry(MBB));
for (MachineInstr &MI : reverse(*MBB))
- Worklist.insert(&MI);
+ if (!MI.isDebugInstr())
+ Worklist.insert(&MI);
}
while (!Worklist.empty()) {
diff --git a/llvm/test/CodeGen/RISCV/rvv/vl-opt.mir b/llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
index 9174b98de0aa9..4d6d0e122b1cf 100644
--- a/llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
+++ b/llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
@@ -770,3 +770,11 @@ body: |
bb.2:
PseudoVSE8_V_M1 %inc, $noreg, %avl2, 3 /* e8 */
...
+---
+name: dbg_value
+body: |
+ bb.0:
+ ; CHECK-LABEL: name: dbg_value
+ ; CHECK: DBG_VALUE %0:vr
+ DBG_VALUE %0:vr
+...
``````````
</details>
https://github.com/llvm/llvm-project/pull/159616
More information about the llvm-commits
mailing list