diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-05-04 00:58:39 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-04 00:58:39 +0000 |
commit | f1ced259b5617e9c15fcafd47e090c22e2702062 (patch) | |
tree | 7b5e6959f18ef9bc0c4772475743530bcc5e002b | |
parent | a0161cd6f8f426b5ee8d815578088e090c799b80 (diff) | |
download | external_llvm-f1ced259b5617e9c15fcafd47e090c22e2702062.zip external_llvm-f1ced259b5617e9c15fcafd47e090c22e2702062.tar.gz external_llvm-f1ced259b5617e9c15fcafd47e090c22e2702062.tar.bz2 |
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.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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 @@ 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); } } |