diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp b/llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp index 9a90787963d7b..5f4ca82132335 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp @@ -221,7 +221,7 @@ class AMDGPUInsertDelayAlu { }; // A map from regunits to the delay info for that regunit. - struct DelayState : DenseMap { + struct DelayState : DenseMap { // Merge another DelayState into this one by merging the delay info for each // regunit. void merge(const DelayState &RHS) { @@ -359,7 +359,8 @@ class AMDGPUInsertDelayAlu { bool Changed = false; MachineInstr *LastDelayAlu = nullptr; - MCRegUnit LastSGPRFromVALU = 0; + // FIXME: 0 is a valid register unit. + MCRegUnit LastSGPRFromVALU = static_cast(0); // Iterate over the contents of bundles, but don't emit any instructions // inside a bundle. for (auto &MI : MBB.instrs()) { @@ -379,7 +380,8 @@ class AMDGPUInsertDelayAlu { if (It != State.end()) { DelayInfo Info = It->getSecond(); State.advanceByVALUNum(Info.VALUNum); - LastSGPRFromVALU = 0; + // FIXME: 0 is a valid register unit. + LastSGPRFromVALU = static_cast(0); } } diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp index 1a14629fb66b3..7a2f84a2f73eb 100644 --- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp +++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp @@ -643,7 +643,7 @@ int GCNHazardRecognizer::getWaitStatesSinceSetReg(IsHazardFn IsHazard, static void addRegUnits(const SIRegisterInfo &TRI, BitVector &BV, MCRegister Reg) { for (MCRegUnit Unit : TRI.regunits(Reg)) - BV.set(Unit); + BV.set(static_cast(Unit)); } static void addRegsToSet(const SIRegisterInfo &TRI, diff --git a/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp b/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp index 5720b978aada0..b537e44aaa9ea 100644 --- a/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp +++ b/llvm/lib/Target/AMDGPU/SIPostRABundler.cpp @@ -110,7 +110,7 @@ void SIPostRABundler::collectUsedRegUnits(const MachineInstr &MI, "subregister indexes should not be present after RA"); for (MCRegUnit Unit : TRI->regunits(Reg)) - UsedRegUnits.set(Unit); + UsedRegUnits.set(static_cast(Unit)); } } diff --git a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp index ecf3aee6048cd..0046d01d92cfc 100644 --- a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -340,10 +340,12 @@ SIRegisterInfo::SIRegisterInfo(const GCNSubtarget &ST) "getNumCoveredRegs() will not work with generated subreg masks!"); RegPressureIgnoredUnits.resize(getNumRegUnits()); - RegPressureIgnoredUnits.set(*regunits(MCRegister::from(AMDGPU::M0)).begin()); + RegPressureIgnoredUnits.set( + static_cast(*regunits(MCRegister::from(AMDGPU::M0)).begin())); for (auto Reg : AMDGPU::VGPR_16RegClass) { if (AMDGPU::isHi16Reg(Reg, *this)) - RegPressureIgnoredUnits.set(*regunits(Reg).begin()); + RegPressureIgnoredUnits.set( + static_cast(*regunits(Reg).begin())); } // HACK: Until this is fully tablegen'd. @@ -3784,7 +3786,7 @@ unsigned SIRegisterInfo::getRegPressureSetLimit(const MachineFunction &MF, const int *SIRegisterInfo::getRegUnitPressureSets(MCRegUnit RegUnit) const { static const int Empty[] = { -1 }; - if (RegPressureIgnoredUnits[RegUnit]) + if (RegPressureIgnoredUnits[static_cast(RegUnit)]) return Empty; return AMDGPUGenRegisterInfo::getRegUnitPressureSets(RegUnit);