From: Chris Lattner Date: Wed, 17 Aug 2005 18:59:17 +0000 (+0000) Subject: add ReplaceAllUsesWith, and a helper to implemented it X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6542d950609208de3e1cde704c5f89aad864c0d9;p=oota-llvm.git add ReplaceAllUsesWith, and a helper to implemented it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22833 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index bebcd1d944c..e8f3ff4636e 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -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