[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