diff --git a/llvm/utils/TableGen/Common/CodeGenRegisters.cpp b/llvm/utils/TableGen/Common/CodeGenRegisters.cpp index 6b0b1ccba80fb..e3a60d908fffe 100644 --- a/llvm/utils/TableGen/Common/CodeGenRegisters.cpp +++ b/llvm/utils/TableGen/Common/CodeGenRegisters.cpp @@ -1333,7 +1333,7 @@ CodeGenSubRegIndex *CodeGenRegBank::getSubRegIdx(const Record *Def) { const CodeGenSubRegIndex * CodeGenRegBank::findSubRegIdx(const Record *Def) const { - return Def2SubRegIdx.lookup(Def); + return Def2SubRegIdx.at(Def); } CodeGenRegister *CodeGenRegBank::getReg(const Record *Def) { diff --git a/llvm/utils/TableGen/DAGISelMatcherGen.cpp b/llvm/utils/TableGen/DAGISelMatcherGen.cpp index a1ab06defb456..afdb6879eede4 100644 --- a/llvm/utils/TableGen/DAGISelMatcherGen.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherGen.cpp @@ -730,7 +730,6 @@ void MatcherGen::EmitResultLeafAsOperand(const TreePatternNode &N, // 7 bit and we cannot use StringInteger. if (RB.getSubRegIndices().size() > 127) { const CodeGenSubRegIndex *I = RB.findSubRegIdx(Def); - assert(I && "Cannot find subreg index by name!"); if (I->EnumValue > 127) { AddMatcher(new EmitIntegerMatcher(I->EnumValue, MVT::i32, NextRecordedOperandNo)); diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp index edaf5299efc39..55f60dbfa2dba 100644 --- a/llvm/utils/TableGen/GlobalISelEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp @@ -1333,7 +1333,7 @@ Error GlobalISelEmitter::importLeafNodeRenderer( } if (R->isSubClassOf("SubRegIndex")) { - const CodeGenSubRegIndex *SubRegIndex = CGRegs.getSubRegIdx(R); + const CodeGenSubRegIndex *SubRegIndex = CGRegs.findSubRegIdx(R); MIBuilder.addRenderer(SubRegIndex->EnumValue); return Error::success(); } @@ -1606,7 +1606,8 @@ Expected GlobalISelEmitter::importExplicitUseRenderers( if (!SubRegInit) return failedImport("EXTRACT_SUBREG child #1 is not a subreg index"); - CodeGenSubRegIndex *SubIdx = CGRegs.getSubRegIdx(SubRegInit->getDef()); + const CodeGenSubRegIndex *SubIdx = + CGRegs.findSubRegIdx(SubRegInit->getDef()); const TreePatternNode &ValChild = Dst.getChild(0); if (!ValChild.isLeaf()) { // We really have to handle the source instruction, and then insert a @@ -1675,7 +1676,8 @@ Expected GlobalISelEmitter::importExplicitUseRenderers( if (const DefInit *SubRegInit = dyn_cast(SubRegChild.getLeafValue())) { - CodeGenSubRegIndex *SubIdx = CGRegs.getSubRegIdx(SubRegInit->getDef()); + const CodeGenSubRegIndex *SubIdx = + CGRegs.findSubRegIdx(SubRegInit->getDef()); if (Error Err = importNodeRenderer(M, DstMIBuilder, ValChild, InsertPt)) return Err; @@ -2004,7 +2006,7 @@ const CodeGenRegisterClass *GlobalISelEmitter::inferSuperRegisterClass( const DefInit *SubRegInit = dyn_cast(SubRegIdxNode.getLeafValue()); if (!SubRegInit) return nullptr; - const CodeGenSubRegIndex *SubIdx = CGRegs.getSubRegIdx(SubRegInit->getDef()); + const CodeGenSubRegIndex *SubIdx = CGRegs.findSubRegIdx(SubRegInit->getDef()); // Use the information we found above to find a minimal register class which // supports the subregister and type we want. @@ -2034,7 +2036,7 @@ const CodeGenSubRegIndex *GlobalISelEmitter::inferSubRegIndexForNode( const DefInit *SubRegInit = dyn_cast(SubRegIdxNode.getLeafValue()); if (!SubRegInit) return nullptr; - return CGRegs.getSubRegIdx(SubRegInit->getDef()); + return CGRegs.findSubRegIdx(SubRegInit->getDef()); } Expected GlobalISelEmitter::runOnPattern(const PatternToMatch &P) {