[llvm] [NFC][TableGen] Change `RecordKeeper::getDef()` to return const pointer (PR #110992)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 3 07:47:18 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-tablegen
Author: Rahul Joshi (jurahul)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/110992.diff
6 Files Affected:
- (modified) llvm/include/llvm/TableGen/Record.h (+2-2)
- (modified) llvm/lib/TableGen/Record.cpp (+2-2)
- (modified) llvm/lib/TableGen/SetTheory.cpp (+1-1)
- (modified) llvm/lib/TableGen/TGParser.cpp (+2-2)
- (modified) llvm/unittests/TableGen/ParserEntryPointTest.cpp (+1-1)
- (modified) llvm/utils/TableGen/Common/CodeGenSchedule.cpp (+2-2)
``````````diff
diff --git a/llvm/include/llvm/TableGen/Record.h b/llvm/include/llvm/TableGen/Record.h
index 106fee39cb9f64..27a9614df0fa20 100644
--- a/llvm/include/llvm/TableGen/Record.h
+++ b/llvm/include/llvm/TableGen/Record.h
@@ -1991,14 +1991,14 @@ class RecordKeeper {
}
/// Get the concrete record with the specified name.
- Record *getDef(StringRef Name) const {
+ const Record *getDef(StringRef Name) const {
auto I = Defs.find(Name);
return I == Defs.end() ? nullptr : I->second.get();
}
/// Get the \p Init value of the specified global variable.
Init *getGlobal(StringRef Name) const {
- if (Record *R = getDef(Name))
+ if (const Record *R = getDef(Name))
return R->getDefInit();
auto It = ExtraGlobals.find(Name);
return It == ExtraGlobals.end() ? nullptr : It->second;
diff --git a/llvm/lib/TableGen/Record.cpp b/llvm/lib/TableGen/Record.cpp
index c0c89836171b12..890a7c1e825d3a 100644
--- a/llvm/lib/TableGen/Record.cpp
+++ b/llvm/lib/TableGen/Record.cpp
@@ -871,7 +871,7 @@ Init *UnOpInit::Fold(Record *CurRec, bool IsFinal) const {
} else if (isa<RecordRecTy>(getType())) {
if (StringInit *Name = dyn_cast<StringInit>(LHS)) {
- Record *D = RK.getDef(Name->getValue());
+ const Record *D = RK.getDef(Name->getValue());
if (!D && CurRec) {
// Self-references are allowed, but their resolution is delayed until
// the final resolve to ensure that we get the correct type for them.
@@ -2113,7 +2113,7 @@ Init *ExistsOpInit::Fold(Record *CurRec, bool IsFinal) const {
if (StringInit *Name = dyn_cast<StringInit>(Expr)) {
// Look up all defined records to see if we can find one.
- Record *D = CheckType->getRecordKeeper().getDef(Name->getValue());
+ const Record *D = CheckType->getRecordKeeper().getDef(Name->getValue());
if (D) {
// Check if types are compatible.
return IntInit::get(getRecordKeeper(),
diff --git a/llvm/lib/TableGen/SetTheory.cpp b/llvm/lib/TableGen/SetTheory.cpp
index edb99827f7c676..47718cc8b0e7fc 100644
--- a/llvm/lib/TableGen/SetTheory.cpp
+++ b/llvm/lib/TableGen/SetTheory.cpp
@@ -222,7 +222,7 @@ struct SequenceOp : public SetTheory::Operator {
std::string Name;
raw_string_ostream OS(Name);
OS << format(Format.c_str(), unsigned(From));
- Record *Rec = Records.getDef(Name);
+ const Record *Rec = Records.getDef(Name);
if (!Rec)
PrintFatalError(Loc, "No def named '" + Name + "': " +
Expr->getAsString());
diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp
index 6793205e09380f..368897a1c1d187 100644
--- a/llvm/lib/TableGen/TGParser.cpp
+++ b/llvm/lib/TableGen/TGParser.cpp
@@ -541,7 +541,7 @@ bool TGParser::resolve(const std::vector<RecordsEntry> &Source,
/// Resolve the record fully and add it to the record keeper.
bool TGParser::addDefOne(std::unique_ptr<Record> Rec) {
Init *NewName = nullptr;
- if (Record *Prev = Records.getDef(Rec->getNameInitAsString())) {
+ if (const Record *Prev = Records.getDef(Rec->getNameInitAsString())) {
if (!Rec->isAnonymous()) {
PrintError(Rec->getLoc(),
"def already exists: " + Rec->getNameInitAsString());
@@ -1108,7 +1108,7 @@ const RecTy *TGParser::ParseType() {
Lex.Lex();
return I->second;
}
- if (Record *R = ParseClassID())
+ if (const Record *R = ParseClassID())
return RecordRecTy::get(R);
TokError("unknown class name");
return nullptr;
diff --git a/llvm/unittests/TableGen/ParserEntryPointTest.cpp b/llvm/unittests/TableGen/ParserEntryPointTest.cpp
index 28290e8ecdf687..920e06fb0c3fa1 100644
--- a/llvm/unittests/TableGen/ParserEntryPointTest.cpp
+++ b/llvm/unittests/TableGen/ParserEntryPointTest.cpp
@@ -33,7 +33,7 @@ TEST(Parser, SanityTest) {
bool ProcessResult = TableGenParseFile(SrcMgr, Records);
EXPECT_FALSE(ProcessResult);
- Record *Foo = Records.getDef("Foo");
+ const Record *Foo = Records.getDef("Foo");
std::optional<StringRef> Field = Foo->getValueAsOptionalString("strField");
EXPECT_TRUE(Field.has_value());
EXPECT_EQ(*Field, "value");
diff --git a/llvm/utils/TableGen/Common/CodeGenSchedule.cpp b/llvm/utils/TableGen/Common/CodeGenSchedule.cpp
index 45477b8fe7402f..9c37fbe9c4b427 100644
--- a/llvm/utils/TableGen/Common/CodeGenSchedule.cpp
+++ b/llvm/utils/TableGen/Common/CodeGenSchedule.cpp
@@ -532,8 +532,8 @@ void CodeGenSchedModels::collectProcModels() {
ProcModels.reserve(ProcRecords.size() + 1);
// Use idx=0 for NoModel/NoItineraries.
- Record *NoModelDef = Records.getDef("NoSchedModel");
- Record *NoItinsDef = Records.getDef("NoItineraries");
+ const Record *NoModelDef = Records.getDef("NoSchedModel");
+ const Record *NoItinsDef = Records.getDef("NoItineraries");
ProcModels.emplace_back(0, "NoSchedModel", NoModelDef, NoItinsDef);
ProcModelMap[NoModelDef] = 0;
``````````
</details>
https://github.com/llvm/llvm-project/pull/110992
More information about the llvm-commits
mailing list