[llvm] [DAG] canCreateUndefOrPoison - explicitly state the AssertSext/Zext/Align/NoFPClass can create poison (PR #146493)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 1 02:09:36 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-selectiondag
Author: Simon Pilgrim (RKSimon)
<details>
<summary>Changes</summary>
This keeps getting forgotten (e.g. #<!-- -->66603) - so make a point of adding it here to make it more clear instead of relying on the implicit default of returning true.
---
Full diff: https://github.com/llvm/llvm-project/pull/146493.diff
1 Files Affected:
- (modified) llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (+7)
``````````diff
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index ad941a1964683..a1e4d706ef6b2 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -5522,6 +5522,13 @@ bool SelectionDAG::canCreateUndefOrPoison(SDValue Op, const APInt &DemandedElts,
unsigned Opcode = Op.getOpcode();
switch (Opcode) {
+ case ISD::AssertSext:
+ case ISD::AssertZext:
+ case ISD::AssertAlign:
+ case ISD::AssertNoFPClass:
+ // Assertion nodes can create poison if the assertion fails.
+ return true;
+
case ISD::FREEZE:
case ISD::CONCAT_VECTORS:
case ISD::INSERT_SUBVECTOR:
``````````
</details>
https://github.com/llvm/llvm-project/pull/146493
More information about the llvm-commits
mailing list