[llvm] [X86][DAGCombine] Avoid deleting temporary nodes in `getNegatedExpression` (PR #139029)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 22:58:40 PDT 2025


================
@@ -54678,12 +54678,19 @@ SDValue X86TargetLowering::getNegatedExpression(SDValue Op, SelectionDAG &DAG,
     if (!Flags.hasNoSignedZeros())
       break;
 
+    // Because getCheaperNegatedExpression can delete nodes we need a handle to
+    // keep temporary nodes alive.
+    std::list<HandleSDNode> Handles;
----------------
dtcxzyw wrote:

`std::optional<HandleSDNode> Handles[3]` may be better.


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


More information about the llvm-commits mailing list