Skip to content

Commit 901946c

Browse files
committed
Fix const correctness of offload-tblgen
1 parent 52800f3 commit 901946c

File tree

7 files changed

+40
-36
lines changed

7 files changed

+40
-36
lines changed

offload/tools/offload-tblgen/APIGen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ OL_APIEXPORT ol_result_t OL_APICALL {0}WithCodeLoc(
196196
OS << "ol_code_location_t *CodeLocation);\n\n";
197197
}
198198

199-
void EmitOffloadAPI(RecordKeeper &Records, raw_ostream &OS) {
199+
void EmitOffloadAPI(const RecordKeeper &Records, raw_ostream &OS) {
200200
OS << GenericHeader;
201201
OS << FileHeader;
202202
// Generate main API definitions

offload/tools/offload-tblgen/EntryPointGen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ static void EmitCodeLocWrapper(const FunctionRec &F, raw_ostream &OS) {
128128
OS << "}\n";
129129
}
130130

131-
void EmitOffloadEntryPoints(RecordKeeper &Records, raw_ostream &OS) {
131+
void EmitOffloadEntryPoints(const RecordKeeper &Records, raw_ostream &OS) {
132132
OS << GenericHeader;
133133
for (auto *R : Records.getAllDerivedDefinitions("Function")) {
134134
EmitValidationFunc(FunctionRec{R}, OS);

offload/tools/offload-tblgen/FuncsGen.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ using namespace llvm;
2121
using namespace offload::tblgen;
2222

2323
// Emit a list of just the API function names
24-
void EmitOffloadFuncNames(RecordKeeper &Records, raw_ostream &OS) {
24+
void EmitOffloadFuncNames(const RecordKeeper &Records, raw_ostream &OS) {
2525
OS << GenericHeader;
2626
OS << R"(
2727
#ifndef OFFLOAD_FUNC
@@ -41,7 +41,7 @@ void EmitOffloadFuncNames(RecordKeeper &Records, raw_ostream &OS) {
4141
OS << "\n#undef OFFLOAD_FUNC\n";
4242
}
4343

44-
void EmitOffloadExports(RecordKeeper &Records, raw_ostream &OS) {
44+
void EmitOffloadExports(const RecordKeeper &Records, raw_ostream &OS) {
4545
OS << "VERS1.0 {\n";
4646
OS << TAB_1 "global:\n";
4747

@@ -57,7 +57,7 @@ void EmitOffloadExports(RecordKeeper &Records, raw_ostream &OS) {
5757
}
5858

5959
// Emit declarations for every implementation function
60-
void EmitOffloadImplFuncDecls(RecordKeeper &Records, raw_ostream &OS) {
60+
void EmitOffloadImplFuncDecls(const RecordKeeper &Records, raw_ostream &OS) {
6161
OS << GenericHeader;
6262
for (auto *R : Records.getAllDerivedDefinitions("Function")) {
6363
FunctionRec F{R};

offload/tools/offload-tblgen/Generators.hpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,14 @@
1010

1111
#include "llvm/TableGen/Record.h"
1212

13-
void EmitOffloadAPI(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
14-
void EmitOffloadFuncNames(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
15-
void EmitOffloadImplFuncDecls(llvm::RecordKeeper &Records,
13+
void EmitOffloadAPI(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
14+
void EmitOffloadFuncNames(const llvm::RecordKeeper &Records,
15+
llvm::raw_ostream &OS);
16+
void EmitOffloadImplFuncDecls(const llvm::RecordKeeper &Records,
1617
llvm::raw_ostream &OS);
17-
void EmitOffloadEntryPoints(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
18-
void EmitOffloadPrintHeader(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
19-
void EmitOffloadExports(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
18+
void EmitOffloadEntryPoints(const llvm::RecordKeeper &Records,
19+
llvm::raw_ostream &OS);
20+
void EmitOffloadPrintHeader(const llvm::RecordKeeper &Records,
21+
llvm::raw_ostream &OS);
22+
void EmitOffloadExports(const llvm::RecordKeeper &Records,
23+
llvm::raw_ostream &OS);

offload/tools/offload-tblgen/PrintGen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ inline std::ostream &operator<<(std::ostream &os, const struct {0} *params) {{
150150
OS << TAB_1 "return os;\n}\n";
151151
}
152152

153-
void EmitOffloadPrintHeader(RecordKeeper &Records, raw_ostream &OS) {
153+
void EmitOffloadPrintHeader(const RecordKeeper &Records, raw_ostream &OS) {
154154
OS << GenericHeader;
155155
OS << R"""(
156156
// Auto-generated file, do not manually edit.

offload/tools/offload-tblgen/RecordTypes.hpp

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ namespace tblgen {
1818

1919
class HandleRec {
2020
public:
21-
explicit HandleRec(Record *rec) : rec(rec) {}
21+
explicit HandleRec(const Record *rec) : rec(rec) {}
2222
StringRef getName() const { return rec->getValueAsString("name"); }
2323
StringRef getDesc() const { return rec->getValueAsString("desc"); }
2424

2525
private:
26-
Record *rec;
26+
const Record *rec;
2727
};
2828

2929
class MacroRec {
3030
public:
31-
explicit MacroRec(Record *rec) : rec(rec) {
31+
explicit MacroRec(const Record *rec) : rec(rec) {
3232
auto Name = rec->getValueAsString("name");
3333
auto OpenBrace = Name.find_first_of("(");
3434
nameWithoutArgs = Name.substr(0, OpenBrace);
@@ -46,38 +46,38 @@ class MacroRec {
4646
}
4747

4848
private:
49-
Record *rec;
49+
const Record *rec;
5050
std::string nameWithoutArgs;
5151
};
5252

5353
class TypedefRec {
5454
public:
55-
explicit TypedefRec(Record *rec) : rec(rec) {}
55+
explicit TypedefRec(const Record *rec) : rec(rec) {}
5656
StringRef getName() const { return rec->getValueAsString("name"); }
5757
StringRef getDesc() const { return rec->getValueAsString("desc"); }
5858
StringRef getValue() const { return rec->getValueAsString("value"); }
5959

6060
private:
61-
Record *rec;
61+
const Record *rec;
6262
};
6363

6464
class EnumValueRec {
6565
public:
66-
explicit EnumValueRec(Record *rec) : rec(rec) {}
66+
explicit EnumValueRec(const Record *rec) : rec(rec) {}
6767
std::string getName() const { return rec->getValueAsString("name").upper(); }
6868
StringRef getDesc() const { return rec->getValueAsString("desc"); }
6969
StringRef getTaggedType() const {
7070
return rec->getValueAsString("tagged_type");
7171
}
7272

7373
private:
74-
Record *rec;
74+
const Record *rec;
7575
};
7676

7777
class EnumRec {
7878
public:
79-
explicit EnumRec(Record *rec) : rec(rec) {
80-
for (auto *Val : rec->getValueAsListOfDefs("etors")) {
79+
explicit EnumRec(const Record *rec) : rec(rec) {
80+
for (const auto *Val : rec->getValueAsListOfDefs("etors")) {
8181
vals.emplace_back(EnumValueRec{Val});
8282
}
8383
}
@@ -93,24 +93,24 @@ class EnumRec {
9393
bool isTyped() const { return rec->getValueAsBit("is_typed"); }
9494

9595
private:
96-
Record *rec;
96+
const Record *rec;
9797
std::vector<EnumValueRec> vals;
9898
};
9999

100100
class StructMemberRec {
101101
public:
102-
explicit StructMemberRec(Record *rec) : rec(rec) {}
102+
explicit StructMemberRec(const Record *rec) : rec(rec) {}
103103
StringRef getType() const { return rec->getValueAsString("type"); }
104104
StringRef getName() const { return rec->getValueAsString("name"); }
105105
StringRef getDesc() const { return rec->getValueAsString("desc"); }
106106

107107
private:
108-
Record *rec;
108+
const Record *rec;
109109
};
110110

111111
class StructRec {
112112
public:
113-
explicit StructRec(Record *rec) : rec(rec) {
113+
explicit StructRec(const Record *rec) : rec(rec) {
114114
for (auto *Member : rec->getValueAsListOfDefs("all_members")) {
115115
members.emplace_back(StructMemberRec(Member));
116116
}
@@ -123,13 +123,13 @@ class StructRec {
123123
const std::vector<StructMemberRec> &getMembers() const { return members; }
124124

125125
private:
126-
Record *rec;
126+
const Record *rec;
127127
std::vector<StructMemberRec> members;
128128
};
129129

130130
class ParamRec {
131131
public:
132-
explicit ParamRec(Record *rec) : rec(rec) {
132+
explicit ParamRec(const Record *rec) : rec(rec) {
133133
flags = rec->getValueAsBitsInit("flags");
134134
auto *Range = rec->getValueAsDef("range");
135135
auto RangeBegin = Range->getValueAsString("begin");
@@ -158,7 +158,7 @@ class ParamRec {
158158
bool isOut() const { return dyn_cast<BitInit>(flags->getBit(1))->getValue(); }
159159
bool isOpt() const { return dyn_cast<BitInit>(flags->getBit(2))->getValue(); }
160160

161-
Record *getRec() const { return rec; }
161+
const Record *getRec() const { return rec; }
162162
std::optional<std::pair<StringRef, StringRef>> getRange() const {
163163
return range;
164164
}
@@ -171,27 +171,27 @@ class ParamRec {
171171
bool operator!=(const ParamRec &p) const { return rec != p.getRec(); }
172172

173173
private:
174-
Record *rec;
175-
BitsInit *flags;
174+
const Record *rec;
175+
const BitsInit *flags;
176176
std::optional<std::pair<StringRef, StringRef>> range;
177177
std::optional<std::pair<StringRef, StringRef>> typeinfo;
178178
};
179179

180180
class ReturnRec {
181181
public:
182-
ReturnRec(Record *rec) : rec(rec) {}
182+
ReturnRec(const Record *rec) : rec(rec) {}
183183
StringRef getValue() const { return rec->getValueAsString("value"); }
184184
std::vector<StringRef> getConditions() const {
185185
return rec->getValueAsListOfStrings("conditions");
186186
}
187187

188188
private:
189-
Record *rec;
189+
const Record *rec;
190190
};
191191

192192
class FunctionRec {
193193
public:
194-
FunctionRec(Record *rec) : rec(rec) {
194+
FunctionRec(const Record *rec) : rec(rec) {
195195
for (auto &Ret : rec->getValueAsListOfDefs("all_returns"))
196196
rets.emplace_back(Ret);
197197
for (auto &Param : rec->getValueAsListOfDefs("params"))
@@ -219,7 +219,7 @@ class FunctionRec {
219219
std::vector<ReturnRec> rets;
220220
std::vector<ParamRec> params;
221221

222-
Record *rec;
222+
const Record *rec;
223223
};
224224

225225
} // namespace tblgen

offload/tools/offload-tblgen/offload-tblgen.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ cl::opt<ActionType> Action(
5555
"Generate export file for the Offload library")));
5656
}
5757

58-
static bool OffloadTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
58+
static bool OffloadTableGenMain(raw_ostream &OS, const RecordKeeper &Records) {
5959
switch (Action) {
6060
case PrintRecords:
6161
OS << Records;

0 commit comments

Comments
 (0)