Skip to content

Commit 91fdfec

Browse files
authored
[NFC][TableGen] Change CodeGenIntrinsics to use const references (#111219)
Change `CodeGenIntrinsics` classes to vend out const references to `CodeGenIntrinsic` or `TargetSet` objects.
1 parent 835b5e2 commit 91fdfec

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ void CodeGenIntrinsicTable::CheckTargetIndependentIntrinsics() const {
124124
}
125125
}
126126

127-
CodeGenIntrinsic &CodeGenIntrinsicMap::operator[](const Record *Record) {
127+
const CodeGenIntrinsic &CodeGenIntrinsicMap::operator[](const Record *Record) {
128128
if (!Record->isSubClassOf("Intrinsic"))
129129
PrintFatalError("Intrinsic defs should be subclass of 'Intrinsic' class");
130130

llvm/utils/TableGen/Basic/CodeGenIntrinsics.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,30 +169,30 @@ struct CodeGenIntrinsic {
169169
};
170170

171171
class CodeGenIntrinsicTable {
172-
std::vector<CodeGenIntrinsic> Intrinsics;
173-
174172
public:
175173
struct TargetSet {
176174
StringRef Name;
177175
size_t Offset;
178176
size_t Count;
179177
};
180-
std::vector<TargetSet> Targets;
181178

182179
explicit CodeGenIntrinsicTable(const RecordKeeper &RC);
183180

184181
bool empty() const { return Intrinsics.empty(); }
185182
size_t size() const { return Intrinsics.size(); }
186183
auto begin() const { return Intrinsics.begin(); }
187184
auto end() const { return Intrinsics.end(); }
188-
CodeGenIntrinsic &operator[](size_t Pos) { return Intrinsics[Pos]; }
189185
const CodeGenIntrinsic &operator[](size_t Pos) const {
190186
return Intrinsics[Pos];
191187
}
188+
ArrayRef<TargetSet> getTargets() const { return Targets; }
192189

193190
private:
194191
void CheckDuplicateIntrinsics() const;
195192
void CheckTargetIndependentIntrinsics() const;
193+
194+
std::vector<CodeGenIntrinsic> Intrinsics;
195+
std::vector<TargetSet> Targets;
196196
};
197197

198198
// This class builds `CodeGenIntrinsic` on demand for a given Def.
@@ -202,7 +202,7 @@ class CodeGenIntrinsicMap {
202202

203203
public:
204204
explicit CodeGenIntrinsicMap(const RecordKeeper &RC) : Ctx(RC) {}
205-
CodeGenIntrinsic &operator[](const Record *Def);
205+
const CodeGenIntrinsic &operator[](const Record *Def);
206206
};
207207

208208
} // namespace llvm

llvm/utils/TableGen/IntrinsicEmitter.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,15 @@ void IntrinsicEmitter::EmitEnumInfo(const CodeGenIntrinsicTable &Ints,
124124
// intrinsics like dbg.value.
125125
using TargetSet = CodeGenIntrinsicTable::TargetSet;
126126
const TargetSet *Set = nullptr;
127-
for (const auto &Target : Ints.Targets) {
127+
for (const auto &Target : Ints.getTargets()) {
128128
if (Target.Name == IntrinsicPrefix) {
129129
Set = &Target;
130130
break;
131131
}
132132
}
133133
if (!Set) {
134134
// The first entry is for target independent intrinsics, so drop it.
135-
auto KnowTargets = ArrayRef<TargetSet>(Ints.Targets).drop_front();
135+
auto KnowTargets = Ints.getTargets().drop_front();
136136
PrintFatalError([KnowTargets](raw_ostream &OS) {
137137
OS << "tried to generate intrinsics for unknown target "
138138
<< IntrinsicPrefix << "\nKnown targets are: ";
@@ -230,7 +230,7 @@ struct IntrinsicTargetInfo {
230230
};
231231
static constexpr IntrinsicTargetInfo TargetInfos[] = {
232232
)";
233-
for (const auto [Name, Offset, Count] : Ints.Targets)
233+
for (const auto [Name, Offset, Count] : Ints.getTargets())
234234
OS << formatv(" {{\"{}\", {}, {}},\n", Name, Offset, Count);
235235
OS << R"(};
236236
#endif

0 commit comments

Comments
 (0)