summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-05-04 00:58:39 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-05-04 00:58:39 +0000
commitf1ced259b5617e9c15fcafd47e090c22e2702062 (patch)
tree7b5e6959f18ef9bc0c4772475743530bcc5e002b
parenta0161cd6f8f426b5ee8d815578088e090c799b80 (diff)
downloadllvm-f1ced259b5617e9c15fcafd47e090c22e2702062.tar.gz
llvm-f1ced259b5617e9c15fcafd47e090c22e2702062.tar.bz2
llvm-f1ced259b5617e9c15fcafd47e090c22e2702062.tar.xz
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
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index f48fdfc05c..422cb7aaaf 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -227,7 +227,8 @@ bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
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);
}
}