diff --git a/llvm/include/llvm/CodeGen/MachineBasicBlock.h b/llvm/include/llvm/CodeGen/MachineBasicBlock.h index 7fe33c3913f2d..0b803a9724742 100644 --- a/llvm/include/llvm/CodeGen/MachineBasicBlock.h +++ b/llvm/include/llvm/CodeGen/MachineBasicBlock.h @@ -129,7 +129,7 @@ class MachineBasicBlock /// clearly as they both have an integer type. struct RegisterMaskPair { public: - MCPhysReg PhysReg; + MCRegister PhysReg; LaneBitmask LaneMask; RegisterMaskPair(MCPhysReg PhysReg, LaneBitmask LaneMask) diff --git a/llvm/lib/CodeGen/BranchFolding.cpp b/llvm/lib/CodeGen/BranchFolding.cpp index bc1a65064a8c5..65476fa05a203 100644 --- a/llvm/lib/CodeGen/BranchFolding.cpp +++ b/llvm/lib/CodeGen/BranchFolding.cpp @@ -381,7 +381,7 @@ void BranchFolder::replaceTailWithBranchTo(MachineBasicBlock::iterator OldInst, // full registers: assert(P.LaneMask == LaneBitmask::getAll() && "Can only handle full register."); - MCPhysReg Reg = P.PhysReg; + MCRegister Reg = P.PhysReg; if (!LiveRegs.available(*MRI, Reg)) continue; DebugLoc DL; diff --git a/llvm/lib/CodeGen/LivePhysRegs.cpp b/llvm/lib/CodeGen/LivePhysRegs.cpp index 96380d4084825..2ba17e46be5a6 100644 --- a/llvm/lib/CodeGen/LivePhysRegs.cpp +++ b/llvm/lib/CodeGen/LivePhysRegs.cpp @@ -154,7 +154,7 @@ bool LivePhysRegs::available(const MachineRegisterInfo &MRI, /// Add live-in registers of basic block \p MBB to \p LiveRegs. void LivePhysRegs::addBlockLiveIns(const MachineBasicBlock &MBB) { for (const auto &LI : MBB.liveins()) { - MCPhysReg Reg = LI.PhysReg; + MCRegister Reg = LI.PhysReg; LaneBitmask Mask = LI.LaneMask; MCSubRegIndexIterator S(Reg, TRI); assert(Mask.any() && "Invalid livein mask"); diff --git a/llvm/lib/CodeGen/LiveVariables.cpp b/llvm/lib/CodeGen/LiveVariables.cpp index 55428ab7832de..00dae84b5840b 100644 --- a/llvm/lib/CodeGen/LiveVariables.cpp +++ b/llvm/lib/CodeGen/LiveVariables.cpp @@ -576,7 +576,7 @@ void LiveVariables::runOnBlock(MachineBasicBlock *MBB, unsigned NumRegs) { // Mark live-in registers as live-in. SmallVector Defs; for (const auto &LI : MBB->liveins()) { - assert(Register::isPhysicalRegister(LI.PhysReg) && + assert(LI.PhysReg.isPhysical() && "Cannot have a live-in virtual register!"); HandlePhysRegDef(LI.PhysReg, nullptr, Defs); } diff --git a/llvm/lib/CodeGen/MachineVerifier.cpp b/llvm/lib/CodeGen/MachineVerifier.cpp index 594ff5ac4c07f..d41b11307e7bc 100644 --- a/llvm/lib/CodeGen/MachineVerifier.cpp +++ b/llvm/lib/CodeGen/MachineVerifier.cpp @@ -894,7 +894,7 @@ MachineVerifier::visitMachineBasicBlockBefore(const MachineBasicBlock *MBB) { regsLive.clear(); if (MRI->tracksLiveness()) { for (const auto &LI : MBB->liveins()) { - if (!Register::isPhysicalRegister(LI.PhysReg)) { + if (!LI.PhysReg.isPhysical()) { report("MBB live-in list contains non-physical register", MBB); continue; } @@ -3448,7 +3448,7 @@ void MachineVerifier::visitMachineFunctionAfter() { if (MRI->tracksLiveness()) for (const auto &MBB : *MF) for (MachineBasicBlock::RegisterMaskPair P : MBB.liveins()) { - MCPhysReg LiveInReg = P.PhysReg; + MCRegister LiveInReg = P.PhysReg; bool hasAliases = MCRegAliasIterator(LiveInReg, TRI, false).isValid(); if (hasAliases || isAllocatable(LiveInReg) || isReserved(LiveInReg)) continue; diff --git a/llvm/lib/CodeGen/RDFLiveness.cpp b/llvm/lib/CodeGen/RDFLiveness.cpp index 7b4b7fdb3e76a..682d316a5bfac 100644 --- a/llvm/lib/CodeGen/RDFLiveness.cpp +++ b/llvm/lib/CodeGen/RDFLiveness.cpp @@ -895,7 +895,7 @@ void Liveness::computeLiveIns() { void Liveness::resetLiveIns() { for (auto &B : DFG.getMF()) { // Remove all live-ins. - std::vector T; + std::vector T; for (const MachineBasicBlock::RegisterMaskPair &LI : B.liveins()) T.push_back(LI.PhysReg); for (auto I : T) @@ -917,7 +917,7 @@ void Liveness::resetKills(MachineBasicBlock *B) { for (auto I : B->liveins()) { MCSubRegIndexIterator S(I.PhysReg, &TRI); if (!S.isValid()) { - LV.set(I.PhysReg); + LV.set(I.PhysReg.id()); continue; } do { diff --git a/llvm/lib/CodeGen/RegAllocFast.cpp b/llvm/lib/CodeGen/RegAllocFast.cpp index 3863ca80bb44e..5bad4df0db19f 100644 --- a/llvm/lib/CodeGen/RegAllocFast.cpp +++ b/llvm/lib/CodeGen/RegAllocFast.cpp @@ -276,7 +276,7 @@ class RegAllocFastImpl { // Assign index for each instruction to quickly determine dominance. InstrPosIndexes PosIndexes; - void setPhysRegState(MCPhysReg PhysReg, unsigned NewState); + void setPhysRegState(MCRegister PhysReg, unsigned NewState); bool isPhysRegFree(MCPhysReg PhysReg) const; /// Mark a physreg as used in this instruction. @@ -449,7 +449,7 @@ bool RegAllocFastImpl::shouldAllocateRegister(const Register Reg) const { return ShouldAllocateRegisterImpl(*TRI, *MRI, Reg); } -void RegAllocFastImpl::setPhysRegState(MCPhysReg PhysReg, unsigned NewState) { +void RegAllocFastImpl::setPhysRegState(MCRegister PhysReg, unsigned NewState) { for (MCRegUnit Unit : TRI->regunits(PhysReg)) RegUnitStates[Unit] = NewState; } @@ -671,7 +671,7 @@ void RegAllocFastImpl::reloadAtBegin(MachineBasicBlock &MBB) { return; for (MachineBasicBlock::RegisterMaskPair P : MBB.liveins()) { - MCPhysReg Reg = P.PhysReg; + MCRegister Reg = P.PhysReg; // Set state to live-in. This possibly overrides mappings to virtual // registers but we don't care anymore at this point. setPhysRegState(Reg, regLiveIn); diff --git a/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp b/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp index e8a4d73c671c9..4d0d99bce258a 100644 --- a/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp +++ b/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp @@ -251,7 +251,7 @@ static bool supportLoadFromLiteral(const MachineInstr &MI) { /// Number of GPR registers traked by mapRegToGPRIndex() static const unsigned N_GPR_REGS = 31; /// Map register number to index from 0-30. -static int mapRegToGPRIndex(MCPhysReg Reg) { +static int mapRegToGPRIndex(MCRegister Reg) { static_assert(AArch64::X28 - AArch64::X0 + 3 == N_GPR_REGS, "Number of GPRs"); static_assert(AArch64::W30 - AArch64::W0 + 1 == N_GPR_REGS, "Number of GPRs"); if (AArch64::X0 <= Reg && Reg <= AArch64::X28) diff --git a/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp b/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp index 3a9421fae0f60..258010d331181 100644 --- a/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp +++ b/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp @@ -402,7 +402,7 @@ void RegDefsUses::addLiveOut(const MachineBasicBlock &MBB, for (const MachineBasicBlock *S : MBB.successors()) if (S != &SuccBB) for (const auto &LI : S->liveins()) - Uses.set(LI.PhysReg); + Uses.set(LI.PhysReg.id()); } bool RegDefsUses::update(const MachineInstr &MI, unsigned Begin, unsigned End) { diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index 4d40c23eb5617..f7398ac7aa130 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -174,7 +174,7 @@ static unsigned getPOP2Opcode(const X86Subtarget &ST) { static bool isEAXLiveIn(MachineBasicBlock &MBB) { for (MachineBasicBlock::RegisterMaskPair RegMask : MBB.liveins()) { - unsigned Reg = RegMask.PhysReg; + MCRegister Reg = RegMask.PhysReg; if (Reg == X86::RAX || Reg == X86::EAX || Reg == X86::AX || Reg == X86::AH || Reg == X86::AL)