[llvm-commits] [llvm] r97559 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Chris Lattner
sabre at nondot.org
Mon Mar 1 23:14:49 PST 2010
Author: lattner
Date: Tue Mar 2 01:14:49 2010
New Revision: 97559
URL: http://llvm.org/viewvc/llvm-project?rev=97559&view=rev
Log:
I was confused about this, it turns out that MorphNodeTo
*does* delete ex-operands that become dead.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=97559&r1=97558&r2=97559&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Tue Mar 2 01:14:49 2010
@@ -1770,9 +1770,8 @@
} else if (Node->getValueType(NTMNumResults-1) == MVT::Other)
OldChainResultNo = NTMNumResults-1;
- // FIXME: If this matches multiple nodes it will just leave them here
- // dead with noone to love them. These dead nodes can block future
- // matches (!).
+ // Call the underlying SelectionDAG routine to do the transmogrification. Note
+ // that this deletes operands of the old node that become dead.
SDNode *Res = CurDAG->MorphNodeTo(Node, ~TargetOpc, VTList, Ops, NumOps);
// MorphNodeTo can operate in two ways: if an existing node with the
More information about the llvm-commits
mailing list