Skip to content

Commit ff19500

Browse files
jurahultmsri
authored andcommitted
[LLVM][TableGen] Change InstrDocsEmitter to use const RecordKeeper (llvm#109061)
Change InstrDocsEmitter to use const RecordKeeper. This is a part of effort to have better const correctness in TableGen backends: https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
1 parent bea0791 commit ff19500

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

llvm/utils/TableGen/InstrDocsEmitter.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ static std::string escapeForRST(StringRef Str) {
6161
return Result;
6262
}
6363

64-
static void EmitInstrDocs(RecordKeeper &RK, raw_ostream &OS) {
65-
CodeGenDAGPatterns CDP(RK);
66-
CodeGenTarget &Target = CDP.getTargetInfo();
64+
static void EmitInstrDocs(const RecordKeeper &RK, raw_ostream &OS) {
65+
const CodeGenDAGPatterns CDP(RK);
66+
const CodeGenTarget &Target = CDP.getTargetInfo();
6767
unsigned VariantCount = Target.getAsmParserVariantCount();
6868

6969
// Page title.
@@ -86,7 +86,7 @@ static void EmitInstrDocs(RecordKeeper &RK, raw_ostream &OS) {
8686
// Assembly string(s).
8787
if (!II->AsmString.empty()) {
8888
for (unsigned VarNum = 0; VarNum < VariantCount; ++VarNum) {
89-
Record *AsmVariant = Target.getAsmParserVariant(VarNum);
89+
const Record *AsmVariant = Target.getAsmParserVariant(VarNum);
9090
OS << "Assembly string";
9191
if (VariantCount != 1)
9292
OS << " (" << AsmVariant->getValueAsString("Name") << ")";
@@ -167,7 +167,7 @@ static void EmitInstrDocs(RecordKeeper &RK, raw_ostream &OS) {
167167
// names of both the compound operand and the basic operands it
168168
// contains.
169169
for (unsigned SubOpIdx = 0; SubOpIdx < Op.MINumOperands; ++SubOpIdx) {
170-
Record *SubRec =
170+
const Record *SubRec =
171171
cast<DefInit>(Op.MIOperandInfo->getArg(SubOpIdx))->getDef();
172172
StringRef SubOpName = Op.MIOperandInfo->getArgNameStr(SubOpIdx);
173173
StringRef SubOpTypeName = SubRec->getName();
@@ -198,7 +198,7 @@ static void EmitInstrDocs(RecordKeeper &RK, raw_ostream &OS) {
198198
if (!II->ImplicitDefs.empty()) {
199199
OS << "Implicit defs: ";
200200
ListSeparator LS;
201-
for (Record *Def : II->ImplicitDefs)
201+
for (const Record *Def : II->ImplicitDefs)
202202
OS << LS << "``" << Def->getName() << "``";
203203
OS << "\n\n";
204204
}
@@ -207,18 +207,18 @@ static void EmitInstrDocs(RecordKeeper &RK, raw_ostream &OS) {
207207
if (!II->ImplicitUses.empty()) {
208208
OS << "Implicit uses: ";
209209
ListSeparator LS;
210-
for (Record *Use : II->ImplicitUses)
210+
for (const Record *Use : II->ImplicitUses)
211211
OS << LS << "``" << Use->getName() << "``";
212212
OS << "\n\n";
213213
}
214214

215215
// Predicates.
216-
std::vector<Record *> Predicates =
217-
II->TheDef->getValueAsListOfDefs("Predicates");
216+
std::vector<const Record *> Predicates =
217+
II->TheDef->getValueAsListOfConstDefs("Predicates");
218218
if (!Predicates.empty()) {
219219
OS << "Predicates: ";
220220
ListSeparator LS;
221-
for (Record *P : Predicates)
221+
for (const Record *P : Predicates)
222222
OS << LS << "``" << P->getName() << "``";
223223
OS << "\n\n";
224224
}

0 commit comments

Comments
 (0)