[PATCH] D141256: [DAGCombine]Don't check for Undef/Poison if the node is deleted
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 9 14:28:16 PST 2023
lebedev.ri added a comment.
Or better yet,
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 78cbfe1356f7..82fdbf1cc790 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -14341,6 +14341,9 @@ SDValue DAGCombiner::visitFREEZE(SDNode *N) {
MaybePoisonOperand);
}
}
+ // The whole node may have been updated, so the value we were holding
+ // may no longer be valid. Re-fetch the operand we're `freeze`ing.
+ N0 = N->getOperand(0);
// Finally, recreate the node, it's operands were updated to use
// frozen operands, so we just need to use it's "original" operands.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141256/new/
https://reviews.llvm.org/D141256
More information about the llvm-commits
mailing list