add ReplaceAllUsesWith, and a helper to implemented it
authorChris Lattner <sabre@nondot.org>
Wed, 17 Aug 2005 18:59:17 +0000 (18:59 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 17 Aug 2005 18:59:17 +0000 (18:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22833 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h

index bebcd1d944ccc7dc251834adb64ce2672e0342ba..e8f3ff4636e80f95dfd2b2219f71bdab1fc150e2 100644 (file)
@@ -239,10 +239,17 @@ public:
                           SDOperand Op1, SDOperand Op2, SDOperand Op3) {
     return getNode(ISD::BUILTIN_OP_END+Opcode, VT, Op1, Op2, Op3);
   }
+  
+  /// ReplaceAllUsesWith - Modify anything using 'From' to use 'To' instead.
+  /// This can cause recursive merging of nodes in the DAG.
+  ///
+  void ReplaceAllUsesWith(SDNode *From, SDNode *To);
+  
   void dump() const;
 
 private:
   void RemoveNodeFromCSEMaps(SDNode *N);
+  SDNode *AddNonLeafNodeToCSEMaps(SDNode *N);
   void DeleteNodeIfDead(SDNode *N, void *NodeSet);
   
   /// SimplifySetCC - Try to simplify a setcc built with the specified operands