mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic.
These functions not longer assert when passed 0, but simply return false instead. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123155 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -656,7 +656,8 @@ void RAFast::handleThroughOperands(MachineInstr *MI,
|
||||
MachineOperand &MO = MI->getOperand(i);
|
||||
if (!MO.isReg()) continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
if (!Reg || TargetRegisterInfo::isPhysicalRegister(Reg)) continue;
|
||||
if (!TargetRegisterInfo::isVirtualRegister(Reg))
|
||||
continue;
|
||||
if (MO.isEarlyClobber() || MI->isRegTiedToDefOperand(i) ||
|
||||
(MO.getSubReg() && MI->readsVirtualRegister(Reg))) {
|
||||
if (ThroughRegs.insert(Reg))
|
||||
@ -688,7 +689,7 @@ void RAFast::handleThroughOperands(MachineInstr *MI,
|
||||
MachineOperand &MO = MI->getOperand(i);
|
||||
if (!MO.isReg()) continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
if (!Reg || TargetRegisterInfo::isPhysicalRegister(Reg)) continue;
|
||||
if (!TargetRegisterInfo::isVirtualRegister(Reg)) continue;
|
||||
if (MO.isUse()) {
|
||||
unsigned DefIdx = 0;
|
||||
if (!MI->isRegTiedToDefOperand(i, &DefIdx)) continue;
|
||||
@ -794,7 +795,7 @@ void RAFast::AllocateBasicBlock() {
|
||||
MachineOperand &MO = MI->getOperand(i);
|
||||
if (!MO.isReg()) continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
if (!Reg || TargetRegisterInfo::isPhysicalRegister(Reg)) continue;
|
||||
if (!TargetRegisterInfo::isVirtualRegister(Reg)) continue;
|
||||
LiveDbgValueMap[Reg] = MI;
|
||||
LiveRegMap::iterator LRI = LiveVirtRegs.find(Reg);
|
||||
if (LRI != LiveVirtRegs.end())
|
||||
@ -909,7 +910,7 @@ void RAFast::AllocateBasicBlock() {
|
||||
MachineOperand &MO = MI->getOperand(i);
|
||||
if (!MO.isReg()) continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
if (!Reg || TargetRegisterInfo::isPhysicalRegister(Reg)) continue;
|
||||
if (!TargetRegisterInfo::isVirtualRegister(Reg)) continue;
|
||||
if (MO.isUse()) {
|
||||
LiveRegMap::iterator LRI = reloadVirtReg(MI, i, Reg, CopyDst);
|
||||
unsigned PhysReg = LRI->second.PhysReg;
|
||||
|
Reference in New Issue
Block a user