CALLSEQ_START/END nodes don't get memoized, do not add them in when
authorChris Lattner <sabre@nondot.org>
Wed, 30 Nov 2005 18:20:52 +0000 (18:20 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 30 Nov 2005 18:20:52 +0000 (18:20 +0000)
replaceAllUses'ing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24539 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 8aa2bc660a8b0b5b7949e31e9261c998d06409df..039cd57584fffcedbd90d659ba8619e568396a94 100644 (file)
@@ -387,6 +387,10 @@ void SelectionDAG::RemoveNodeFromCSEMaps(SDNode *N) {
 ///
 SDNode *SelectionDAG::AddNonLeafNodeToCSEMaps(SDNode *N) {
   assert(N->getNumOperands() && "This is a leaf node!");
+  if (N->getOpcode() == ISD::CALLSEQ_START || 
+      N->getOpcode() == ISD::CALLSEQ_END)
+    return 0;
+  
   if (N->getOpcode() == ISD::LOAD) {
     SDNode *&L = Loads[std::make_pair(N->getOperand(1),
                                       std::make_pair(N->getOperand(0),