mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Don't access MO reference after invalidating operand list.
This should unbreak llvm-x86_64-linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156778 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4d10829e12
commit
6565a70970
@ -659,9 +659,10 @@ RAFast::reloadVirtReg(MachineInstr *MI, unsigned OpNum,
|
||||
// Return true if the operand kills its register.
|
||||
bool RAFast::setPhysReg(MachineInstr *MI, unsigned OpNum, unsigned PhysReg) {
|
||||
MachineOperand &MO = MI->getOperand(OpNum);
|
||||
bool Dead = MO.isDead();
|
||||
if (!MO.getSubReg()) {
|
||||
MO.setReg(PhysReg);
|
||||
return MO.isKill() || MO.isDead();
|
||||
return MO.isKill() || Dead;
|
||||
}
|
||||
|
||||
// Handle subregister index.
|
||||
@ -680,7 +681,7 @@ bool RAFast::setPhysReg(MachineInstr *MI, unsigned OpNum, unsigned PhysReg) {
|
||||
if (MO.isDef() && MO.isUndef())
|
||||
MI->addRegisterDefined(PhysReg, TRI);
|
||||
|
||||
return MO.isDead();
|
||||
return Dead;
|
||||
}
|
||||
|
||||
// Handle special instruction operand like early clobbers and tied ops when
|
||||
|
Loading…
x
Reference in New Issue
Block a user