mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 07:34:33 +00:00
Update PPCRegisterInfo's use of virtual registers to be SSA
PPC's use of PEI's virtual-register-based scavenging functionality had redefined the virtual registers (it was non-SSA). Now that PEI supports dealing with instructions with multiple virtual registers, this can be cleanup up to use multiple virtual registers and keep SSA form. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178059 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8846129f6e
commit
3b196f20fb
@ -578,13 +578,15 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
|
||||
const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
|
||||
const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
|
||||
unsigned SReg = MF.getRegInfo().createVirtualRegister(is64Bit ? G8RC : GPRC);
|
||||
const TargetRegisterClass *RC = is64Bit ? G8RC : GPRC;
|
||||
unsigned SRegHi = MF.getRegInfo().createVirtualRegister(RC),
|
||||
SReg = MF.getRegInfo().createVirtualRegister(RC);
|
||||
|
||||
// Insert a set of rA with the full offset value before the ld, st, or add
|
||||
BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LIS8 : PPC::LIS), SReg)
|
||||
BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::LIS8 : PPC::LIS), SRegHi)
|
||||
.addImm(Offset >> 16);
|
||||
BuildMI(MBB, II, dl, TII.get(is64Bit ? PPC::ORI8 : PPC::ORI), SReg)
|
||||
.addReg(SReg, RegState::Kill)
|
||||
.addReg(SRegHi, RegState::Kill)
|
||||
.addImm(Offset);
|
||||
|
||||
// Convert into indexed form of the instruction:
|
||||
|
Loading…
x
Reference in New Issue
Block a user