[llvm] fix a assert on the PR 125883 (PR #135056)

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 9 10:33:16 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-selectiondag

Author: zhijian lin (diggerlin)

<details>
<summary>Changes</summary>

The PR fix a assert on the PR https://github.com/llvm/llvm-project/pull/125883

---
Full diff: https://github.com/llvm/llvm-project/pull/135056.diff


2 Files Affected:

- (modified) llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp (+1) 
- (added) llvm/test/CodeGen/RISCV/pr125883.ll (+19) 


``````````diff
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
index 5ed83060e150e..6493e0e6583f0 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
@@ -165,6 +165,7 @@ void DAGTypeLegalizer::SoftenFloatResult(SDNode *N, unsigned ResNo) {
     case ISD::STRICT_UINT_TO_FP:
     case ISD::SINT_TO_FP:
     case ISD::UINT_TO_FP:  R = SoftenFloatRes_XINT_TO_FP(N); break;
+    case ISD::POISON:
     case ISD::UNDEF:       R = SoftenFloatRes_UNDEF(N); break;
     case ISD::VAARG:       R = SoftenFloatRes_VAARG(N); break;
     case ISD::VECREDUCE_FADD:
diff --git a/llvm/test/CodeGen/RISCV/pr125883.ll b/llvm/test/CodeGen/RISCV/pr125883.ll
new file mode 100644
index 0000000000000..f2da05c660be6
--- /dev/null
+++ b/llvm/test/CodeGen/RISCV/pr125883.ll
@@ -0,0 +1,19 @@
+; RUN: llc < %s -mtriple=riscv32  | FileCheck %s
+
+define void @b(ptr %p1)  {
+; CHECK:        .cfi_startproc
+; CHECK-NEXT: # %bb.0:                                # %entry
+; CHECK-NEXT:   sb      zero, 7(a0)
+; CHECK-NEXT:   sb      zero, 6(a0)
+; CHECK-NEXT:   sb      zero, 5(a0)
+; CHECK-NEXT:   sb      a0, 4(a0)
+; CHECK-NEXT:   sb      zero, 3(a0)
+; CHECK-NEXT:   sb      zero, 2(a0)
+; CHECK-NEXT:   sb      zero, 1(a0)
+; CHECK-NEXT:   sb      a0, 0(a0)
+; CHECK-NEXT:   ret
+
+entry:
+  store volatile double poison, ptr %p1, align 1
+  ret void
+}

``````````

</details>


https://github.com/llvm/llvm-project/pull/135056


More information about the llvm-commits mailing list