mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Clean up sub-register implementation by moving subReg information back to
MachineOperand auxInfo. Previous clunky implementation uses an external map to track sub-register uses. That works because register allocator uses a new virtual register for each spilled use. With interval splitting (coming soon), we may have multiple uses of the same register some of which are of using different sub-registers from others. It's too fragile to constantly update the information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44104 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -39,6 +39,7 @@ void MachineInstr::addImplicitDefUseOperands() {
|
||||
Op.IsKill = false;
|
||||
Op.IsDead = false;
|
||||
Op.contents.RegNo = *ImpDefs;
|
||||
Op.auxInfo.subReg = 0;
|
||||
Operands.push_back(Op);
|
||||
}
|
||||
if (TID->ImplicitUses)
|
||||
@ -50,6 +51,7 @@ void MachineInstr::addImplicitDefUseOperands() {
|
||||
Op.IsKill = false;
|
||||
Op.IsDead = false;
|
||||
Op.contents.RegNo = *ImpUses;
|
||||
Op.auxInfo.subReg = 0;
|
||||
Operands.push_back(Op);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user