mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-06 19:16:55 +00:00
Fix a future TwoAddressInstructionPass crash.
No test case, the crash only happens when the default use list order is changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
69a0aa87f8
commit
988069e229
@ -235,7 +235,7 @@ bool TwoAddressInstructionPass::Sink3AddrInstruction(MachineBasicBlock *MBB,
|
||||
// appropriate location, we can try to sink the current instruction
|
||||
// past it.
|
||||
if (!KillMI || KillMI->getParent() != MBB || KillMI == MI ||
|
||||
KillMI->isTerminator())
|
||||
KillMI == OldPos || KillMI->isTerminator())
|
||||
return false;
|
||||
|
||||
// If any of the definitions are used by another instruction between the
|
||||
@ -278,6 +278,7 @@ bool TwoAddressInstructionPass::Sink3AddrInstruction(MachineBasicBlock *MBB,
|
||||
}
|
||||
}
|
||||
}
|
||||
assert(KillMO && "Didn't find kill");
|
||||
|
||||
// Update kill and LV information.
|
||||
KillMO->setIsKill(false);
|
||||
|
Loading…
Reference in New Issue
Block a user