fix a valgrind error on copy-constructor-synthesis.cpp, which is caused when
authorChris Lattner <sabre@nondot.org>
Thu, 25 Mar 2010 18:49:10 +0000 (18:49 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 25 Mar 2010 18:49:10 +0000 (18:49 +0000)
the custom insertion hook deletes the instruction, then we try to set dead
flags on it.  Neither the code that I added nor the code that was there
before was safe.

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

lib/CodeGen/SelectionDAG/InstrEmitter.cpp

index e86a18dc2b4b83db221b7990d37927e88e64c07b..7b660f530f73f881b0dae9b12c83766dce3c89ea 100644 (file)
@@ -617,9 +617,10 @@ EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned,
     // specific inserter which may returns a new basic block.
     MBB = TLI->EmitInstrWithCustomInserter(MI, MBB, EM);
     InsertPos = MBB->end();
-  } else {
-    MBB->insert(InsertPos, MI);
+    return;
   }
+  
+  MBB->insert(InsertPos, MI);
 
   // Additional results must be an physical register def.
   if (HasPhysRegOuts) {