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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102993 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index f48fdfc..422cb7a 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/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);
     }
   }