From 6542d950609208de3e1cde704c5f89aad864c0d9 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 17 Aug 2005 18:59:17 +0000 Subject: [PATCH] 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 --- include/llvm/CodeGen/SelectionDAG.h | 7 +++++++ 1 file changed, 7 insertions(+) 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 -- 2.34.1