Instruction selection optimizations may have moved the def of a function argument out of the entry block. rdar://7937489

llvm-svn: 102993
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index f48fdfc..422cb7a 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -227,7 +227,8 @@
     else {
       MachineInstr *Def = RegInfo->getVRegDef(Reg);
       MachineBasicBlock::iterator InsertPos = Def;
-      EntryMBB->insert(llvm::next(InsertPos), MI);
+      // FIXME: VR def may not be in entry block.
+      Def->getParent()->insert(llvm::next(InsertPos), MI);
     }
   }