diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-09 13:28:42 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2023-12-09 13:28:42 +0000 |
| commit | b1c73532ee8997fe5dfbeb7d223027bdf99758a0 (patch) | |
| tree | 7d6e51c294ab6719475d660217aa0c0ad0526292 /llvm/lib/CodeGen/RegisterBankInfo.cpp | |
| parent | 7fa27ce4a07f19b07799a767fc29416f3b625afb (diff) | |
Diffstat (limited to 'llvm/lib/CodeGen/RegisterBankInfo.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/RegisterBankInfo.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/RegisterBankInfo.cpp b/llvm/lib/CodeGen/RegisterBankInfo.cpp index 658a09fd8700..5548430d1b0a 100644 --- a/llvm/lib/CodeGen/RegisterBankInfo.cpp +++ b/llvm/lib/CodeGen/RegisterBankInfo.cpp @@ -61,7 +61,8 @@ RegisterBankInfo::RegisterBankInfo(const RegisterBank **RegBanks, #ifndef NDEBUG for (unsigned Idx = 0, End = getNumRegBanks(); Idx != End; ++Idx) { assert(RegBanks[Idx] != nullptr && "Invalid RegisterBank"); - assert(RegBanks[Idx]->isValid() && "RegisterBank should be valid"); + assert(RegBanks[Idx]->getID() == Idx && + "RegisterBank ID should match index"); } #endif // NDEBUG } @@ -494,7 +495,7 @@ void RegisterBankInfo::applyDefaultMapping(const OperandsMapper &OpdMapper) { } } -unsigned RegisterBankInfo::getSizeInBits(Register Reg, +TypeSize RegisterBankInfo::getSizeInBits(Register Reg, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI) const { if (Reg.isPhysical()) { @@ -552,7 +553,7 @@ bool RegisterBankInfo::ValueMapping::partsAllUniform() const { } bool RegisterBankInfo::ValueMapping::verify(const RegisterBankInfo &RBI, - unsigned MeaningfulBitWidth) const { + TypeSize MeaningfulBitWidth) const { assert(NumBreakDowns && "Value mapped nowhere?!"); unsigned OrigValueBitWidth = 0; for (const RegisterBankInfo::PartialMapping &PartMap : *this) { @@ -564,7 +565,8 @@ bool RegisterBankInfo::ValueMapping::verify(const RegisterBankInfo &RBI, OrigValueBitWidth = std::max(OrigValueBitWidth, PartMap.getHighBitIdx() + 1); } - assert(OrigValueBitWidth >= MeaningfulBitWidth && + assert((MeaningfulBitWidth.isScalable() || + OrigValueBitWidth >= MeaningfulBitWidth) && "Meaningful bits not covered by the mapping"); APInt ValueMask(OrigValueBitWidth, 0); for (const RegisterBankInfo::PartialMapping &PartMap : *this) { |
