From: Quentin Colombet Date: Fri, 30 Sep 2016 21:46:12 +0000 (+0000) Subject: [AArch64][RegisterBankInfo] Rename getRegBankIdx to getRegBankIdxOffset X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce2d317b108782d0064205a9a0bae6af1be166de;p=llvm [AArch64][RegisterBankInfo] Rename getRegBankIdx to getRegBankIdxOffset The function name did not make it clear that the returned value was an offset to apply to a register bank index. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282957 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AArch64/AArch64GenRegisterBankInfo.def b/lib/Target/AArch64/AArch64GenRegisterBankInfo.def index 9655db82380..686d579dce1 100644 --- a/lib/Target/AArch64/AArch64GenRegisterBankInfo.def +++ b/lib/Target/AArch64/AArch64GenRegisterBankInfo.def @@ -39,7 +39,7 @@ enum PartialMappingIdx { LastFPR = FPR512 }; -static unsigned getRegBankBaseIdx(unsigned Size) { +static unsigned getRegBankBaseIdxOffset(unsigned Size) { assert(Size && "0-sized type!!"); // Make anything smaller than 32 gets 32 Size = ((Size + 31) / 32) * 32; diff --git a/lib/Target/AArch64/AArch64RegisterBankInfo.cpp b/lib/Target/AArch64/AArch64RegisterBankInfo.cpp index f3ef78384fb..06babbf86d6 100644 --- a/lib/Target/AArch64/AArch64RegisterBankInfo.cpp +++ b/lib/Target/AArch64/AArch64RegisterBankInfo.cpp @@ -248,13 +248,13 @@ AArch64RegisterBankInfo::getInstrAlternativeMappings( /*NumOperands*/ 3); InstructionMapping FPRMapping(/*ID*/ 2, /*Cost*/ 1, nullptr, /*NumOperands*/ 3); - unsigned RBIdx = AArch64::getRegBankBaseIdx(Size); + unsigned RBIdxOffset = AArch64::getRegBankBaseIdxOffset(Size); GPRMapping.setOperandsMapping( &AArch64::ValMappings[AArch64::First3OpsIdx + - (RBIdx + AArch64::FirstGPR) * 3]); + (RBIdxOffset + AArch64::FirstGPR) * 3]); FPRMapping.setOperandsMapping( &AArch64::ValMappings[AArch64::First3OpsIdx + - (RBIdx + AArch64::FirstFPR) * 3]); + (RBIdxOffset + AArch64::FirstFPR) * 3]); AltMappings.emplace_back(std::move(GPRMapping)); AltMappings.emplace_back(std::move(FPRMapping)); return AltMappings; @@ -336,20 +336,23 @@ AArch64RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const { assert(NumOperands == 3 && "This code is for 3-operands instructions"); LLT Ty = MRI.getType(MI.getOperand(0).getReg()); - unsigned RBIdx = AArch64::getRegBankBaseIdx(Ty.getSizeInBits()); + unsigned RBIdxOffset = AArch64::getRegBankBaseIdxOffset(Ty.getSizeInBits()); // Make sure all the operands are using similar size. // Should probably be checked by the machine verifier. - assert(AArch64::getRegBankBaseIdx(MRI.getType(MI.getOperand(1).getReg()) - .getSizeInBits()) == RBIdx && + assert(AArch64::getRegBankBaseIdxOffset( + MRI.getType(MI.getOperand(1).getReg()).getSizeInBits()) == + RBIdxOffset && "Operand 1 has incompatible size"); - assert(AArch64::getRegBankBaseIdx(MRI.getType(MI.getOperand(2).getReg()) - .getSizeInBits()) == RBIdx && + assert(AArch64::getRegBankBaseIdxOffset( + MRI.getType(MI.getOperand(2).getReg()).getSizeInBits()) == + RBIdxOffset && "Operand 2 has incompatible size"); bool IsFPR = Ty.isVector() || isPreISelGenericFloatingPointOpcode(Opc); - unsigned Offset = (IsFPR ? AArch64::FirstFPR : AArch64::FirstGPR) + RBIdx; - unsigned ValMappingIdx = AArch64::First3OpsIdx + Offset * 3; + unsigned RBIdx = + (IsFPR ? AArch64::FirstFPR : AArch64::FirstGPR) + RBIdxOffset; + unsigned ValMappingIdx = AArch64::First3OpsIdx + RBIdx * 3; assert(ValMappingIdx >= AArch64::First3OpsIdx && ValMappingIdx <= AArch64::Last3OpsIdx && "Mapping out of bound"); @@ -373,19 +376,21 @@ AArch64RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const { continue; LLT Ty = MRI.getType(MO.getReg()); - unsigned RBIdx = AArch64::getRegBankBaseIdx(Ty.getSizeInBits()); - OpBaseIdx[Idx] = RBIdx; + unsigned RBIdxOffset = AArch64::getRegBankBaseIdxOffset(Ty.getSizeInBits()); + OpBaseIdx[Idx] = RBIdxOffset; // As a top-level guess, vectors go in FPRs, scalars and pointers in GPRs. // For floating-point instructions, scalars go in FPRs. if (Ty.isVector() || isPreISelGenericFloatingPointOpcode(Opc)) { - assert(RBIdx < (AArch64::LastFPR - AArch64::FirstFPR) + 1 && + assert(AArch64::FirstFPR + RBIdxOffset < + (AArch64::LastFPR - AArch64::FirstFPR) + 1 && "Index out of bound"); - OpFinalIdx[Idx] = AArch64::FirstFPR + RBIdx; + OpFinalIdx[Idx] = AArch64::FirstFPR + RBIdxOffset; } else { - assert(RBIdx < (AArch64::LastGPR - AArch64::FirstGPR) + 1 && + assert(AArch64::FirstGPR + RBIdxOffset < + (AArch64::LastGPR - AArch64::FirstGPR) + 1 && "Index out of bound"); - OpFinalIdx[Idx] = AArch64::FirstGPR + RBIdx; + OpFinalIdx[Idx] = AArch64::FirstGPR + RBIdxOffset; } }