Copies need to be inserted before the first terminator, not at the end of the block.

llvm-svn: 45791
This commit is contained in:
Owen Anderson 2008-01-10 00:01:41 +00:00
parent ba0214a6cb
commit b5be87349c

View File

@ -613,7 +613,7 @@ void StrongPHIElimination::ScheduleCopies(MachineBasicBlock* MBB,
} }
// Insert copy from map[curr.first] to curr.second // Insert copy from map[curr.first] to curr.second
TII->copyRegToReg(*MBB, MBB->end(), curr.second, TII->copyRegToReg(*MBB, MBB->getFirstTerminator(), curr.second,
map[curr.first], RC, RC); map[curr.first], RC, RC);
map[curr.first] = curr.second; map[curr.first] = curr.second;
@ -642,7 +642,7 @@ void StrongPHIElimination::ScheduleCopies(MachineBasicBlock* MBB,
// Insert a copy from dest to a new temporary t at the end of b // Insert a copy from dest to a new temporary t at the end of b
unsigned t = MF->getRegInfo().createVirtualRegister(RC); unsigned t = MF->getRegInfo().createVirtualRegister(RC);
TII->copyRegToReg(*MBB, MBB->end(), t, TII->copyRegToReg(*MBB, MBB->getFirstTerminator(), t,
curr.second, RC, RC); curr.second, RC, RC);
map[curr.second] = t; map[curr.second] = t;