Skip to content

Commit 91b3051

Browse files
committed
[RISCV] Remove ExtName from RISCVExtensionInfo.
This field is never used in the compiler and was only used in unit tests added recently. It's only used as the value in a map where the extension name is the key. If we need the string we can get it from the key. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D146197
1 parent 3e16488 commit 91b3051

File tree

3 files changed

+49
-58
lines changed

3 files changed

+49
-58
lines changed

llvm/include/llvm/Support/RISCVISAInfo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
namespace llvm {
2020
struct RISCVExtensionInfo {
21-
std::string ExtName;
2221
unsigned MajorVersion;
2322
unsigned MinorVersion;
2423
};

llvm/lib/Support/RISCVISAInfo.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ findDefaultVersion(StringRef ExtName) {
194194
void RISCVISAInfo::addExtension(StringRef ExtName, unsigned MajorVersion,
195195
unsigned MinorVersion) {
196196
RISCVExtensionInfo Ext;
197-
Ext.ExtName = ExtName.str();
198197
Ext.MajorVersion = MajorVersion;
199198
Ext.MinorVersion = MinorVersion;
200199
Exts[ExtName.str()] = Ext;

llvm/unittests/Support/RISCVISAInfoTest.cpp

Lines changed: 49 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ using namespace llvm;
1616

1717
bool operator==(const llvm::RISCVExtensionInfo &A,
1818
const llvm::RISCVExtensionInfo &B) {
19-
return A.ExtName == B.ExtName && A.MajorVersion == B.MajorVersion &&
20-
A.MinorVersion == B.MinorVersion;
19+
return A.MajorVersion == B.MajorVersion && A.MinorVersion == B.MinorVersion;
2120
}
2221

2322
TEST(ParseNormalizedArchString, RejectsUpperCase) {
@@ -50,32 +49,28 @@ TEST(ParseNormalizedArchString, AcceptsValidBaseISAsAndSetsXLen) {
5049
ASSERT_THAT_EXPECTED(MaybeRV32I, Succeeded());
5150
RISCVISAInfo &InfoRV32I = **MaybeRV32I;
5251
EXPECT_EQ(InfoRV32I.getExtensions().size(), 1UL);
53-
EXPECT_TRUE(InfoRV32I.getExtensions().at("i") ==
54-
(RISCVExtensionInfo{"i", 2, 0}));
52+
EXPECT_TRUE(InfoRV32I.getExtensions().at("i") == (RISCVExtensionInfo{2, 0}));
5553
EXPECT_EQ(InfoRV32I.getXLen(), 32U);
5654

5755
auto MaybeRV32E = RISCVISAInfo::parseNormalizedArchString("rv32e2p0");
5856
ASSERT_THAT_EXPECTED(MaybeRV32E, Succeeded());
5957
RISCVISAInfo &InfoRV32E = **MaybeRV32E;
6058
EXPECT_EQ(InfoRV32E.getExtensions().size(), 1UL);
61-
EXPECT_TRUE(InfoRV32E.getExtensions().at("e") ==
62-
(RISCVExtensionInfo{"e", 2, 0}));
59+
EXPECT_TRUE(InfoRV32E.getExtensions().at("e") == (RISCVExtensionInfo{2, 0}));
6360
EXPECT_EQ(InfoRV32E.getXLen(), 32U);
6461

6562
auto MaybeRV64I = RISCVISAInfo::parseNormalizedArchString("rv64i2p0");
6663
ASSERT_THAT_EXPECTED(MaybeRV64I, Succeeded());
6764
RISCVISAInfo &InfoRV64I = **MaybeRV64I;
6865
EXPECT_EQ(InfoRV64I.getExtensions().size(), 1UL);
69-
EXPECT_TRUE(InfoRV64I.getExtensions().at("i") ==
70-
(RISCVExtensionInfo{"i", 2, 0}));
66+
EXPECT_TRUE(InfoRV64I.getExtensions().at("i") == (RISCVExtensionInfo{2, 0}));
7167
EXPECT_EQ(InfoRV64I.getXLen(), 64U);
7268

7369
auto MaybeRV64E = RISCVISAInfo::parseNormalizedArchString("rv64e2p0");
7470
ASSERT_THAT_EXPECTED(MaybeRV64E, Succeeded());
7571
RISCVISAInfo &InfoRV64E = **MaybeRV64E;
7672
EXPECT_EQ(InfoRV64E.getExtensions().size(), 1UL);
77-
EXPECT_TRUE(InfoRV64E.getExtensions().at("e") ==
78-
(RISCVExtensionInfo{"e", 2, 0}));
73+
EXPECT_TRUE(InfoRV64E.getExtensions().at("e") == (RISCVExtensionInfo{2, 0}));
7974
EXPECT_EQ(InfoRV64E.getXLen(), 64U);
8075
}
8176

@@ -85,14 +80,12 @@ TEST(ParseNormalizedArchString, AcceptsArbitraryExtensionsAndVersions) {
8580
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
8681
RISCVISAInfo &Info = **MaybeISAInfo;
8782
EXPECT_EQ(Info.getExtensions().size(), 5UL);
88-
EXPECT_TRUE(Info.getExtensions().at("i") == (RISCVExtensionInfo{"i", 5, 1}));
89-
EXPECT_TRUE(Info.getExtensions().at("m") == (RISCVExtensionInfo{"m", 3, 2}));
83+
EXPECT_TRUE(Info.getExtensions().at("i") == (RISCVExtensionInfo{5, 1}));
84+
EXPECT_TRUE(Info.getExtensions().at("m") == (RISCVExtensionInfo{3, 2}));
9085
EXPECT_TRUE(Info.getExtensions().at("zmadeup") ==
91-
(RISCVExtensionInfo{"zmadeup", 11, 12}));
92-
EXPECT_TRUE(Info.getExtensions().at("sfoo") ==
93-
(RISCVExtensionInfo{"sfoo", 2, 0}));
94-
EXPECT_TRUE(Info.getExtensions().at("xbar") ==
95-
(RISCVExtensionInfo{"xbar", 3, 0}));
86+
(RISCVExtensionInfo{11, 12}));
87+
EXPECT_TRUE(Info.getExtensions().at("sfoo") == (RISCVExtensionInfo{2, 0}));
88+
EXPECT_TRUE(Info.getExtensions().at("xbar") == (RISCVExtensionInfo{3, 0}));
9689
}
9790

9891
TEST(ParseNormalizedArchString, UpdatesFLenMinVLenMaxELen) {
@@ -139,7 +132,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
139132
RISCVISAInfo &InfoRV32I = **MaybeRV32I;
140133
RISCVISAInfo::OrderedExtensionMap ExtsRV32I = InfoRV32I.getExtensions();
141134
EXPECT_EQ(ExtsRV32I.size(), 1UL);
142-
EXPECT_TRUE(ExtsRV32I.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
135+
EXPECT_TRUE(ExtsRV32I.at("i") == (RISCVExtensionInfo{2, 0}));
143136
EXPECT_EQ(InfoRV32I.getXLen(), 32U);
144137
EXPECT_EQ(InfoRV32I.getFLen(), 0U);
145138

@@ -148,7 +141,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
148141
RISCVISAInfo &InfoRV32E = **MaybeRV32E;
149142
RISCVISAInfo::OrderedExtensionMap ExtsRV32E = InfoRV32E.getExtensions();
150143
EXPECT_EQ(ExtsRV32E.size(), 1UL);
151-
EXPECT_TRUE(ExtsRV32E.at("e") == (RISCVExtensionInfo{"e", 1, 9}));
144+
EXPECT_TRUE(ExtsRV32E.at("e") == (RISCVExtensionInfo{1, 9}));
152145
EXPECT_EQ(InfoRV32E.getXLen(), 32U);
153146
EXPECT_EQ(InfoRV32E.getFLen(), 0U);
154147

@@ -157,11 +150,11 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
157150
RISCVISAInfo &InfoRV32G = **MaybeRV32G;
158151
RISCVISAInfo::OrderedExtensionMap ExtsRV32G = InfoRV32G.getExtensions();
159152
EXPECT_EQ(ExtsRV32G.size(), 5UL);
160-
EXPECT_TRUE(ExtsRV32G.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
161-
EXPECT_TRUE(ExtsRV32G.at("m") == (RISCVExtensionInfo{"m", 2, 0}));
162-
EXPECT_TRUE(ExtsRV32G.at("a") == (RISCVExtensionInfo{"a", 2, 0}));
163-
EXPECT_TRUE(ExtsRV32G.at("f") == (RISCVExtensionInfo{"f", 2, 0}));
164-
EXPECT_TRUE(ExtsRV32G.at("d") == (RISCVExtensionInfo{"d", 2, 0}));
153+
EXPECT_TRUE(ExtsRV32G.at("i") == (RISCVExtensionInfo{2, 0}));
154+
EXPECT_TRUE(ExtsRV32G.at("m") == (RISCVExtensionInfo{2, 0}));
155+
EXPECT_TRUE(ExtsRV32G.at("a") == (RISCVExtensionInfo{2, 0}));
156+
EXPECT_TRUE(ExtsRV32G.at("f") == (RISCVExtensionInfo{2, 0}));
157+
EXPECT_TRUE(ExtsRV32G.at("d") == (RISCVExtensionInfo{2, 0}));
165158
EXPECT_EQ(InfoRV32G.getXLen(), 32U);
166159
EXPECT_EQ(InfoRV32G.getFLen(), 64U);
167160

@@ -170,7 +163,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
170163
RISCVISAInfo &InfoRV64I = **MaybeRV64I;
171164
RISCVISAInfo::OrderedExtensionMap ExtsRV64I = InfoRV64I.getExtensions();
172165
EXPECT_EQ(ExtsRV64I.size(), 1UL);
173-
EXPECT_TRUE(ExtsRV64I.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
166+
EXPECT_TRUE(ExtsRV64I.at("i") == (RISCVExtensionInfo{2, 0}));
174167
EXPECT_EQ(InfoRV64I.getXLen(), 64U);
175168
EXPECT_EQ(InfoRV64I.getFLen(), 0U);
176169

@@ -179,11 +172,11 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
179172
RISCVISAInfo &InfoRV64G = **MaybeRV64G;
180173
RISCVISAInfo::OrderedExtensionMap ExtsRV64G = InfoRV64G.getExtensions();
181174
EXPECT_EQ(ExtsRV64G.size(), 5UL);
182-
EXPECT_TRUE(ExtsRV64G.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
183-
EXPECT_TRUE(ExtsRV64G.at("m") == (RISCVExtensionInfo{"m", 2, 0}));
184-
EXPECT_TRUE(ExtsRV64G.at("a") == (RISCVExtensionInfo{"a", 2, 0}));
185-
EXPECT_TRUE(ExtsRV64G.at("f") == (RISCVExtensionInfo{"f", 2, 0}));
186-
EXPECT_TRUE(ExtsRV64G.at("d") == (RISCVExtensionInfo{"d", 2, 0}));
175+
EXPECT_TRUE(ExtsRV64G.at("i") == (RISCVExtensionInfo{2, 0}));
176+
EXPECT_TRUE(ExtsRV64G.at("m") == (RISCVExtensionInfo{2, 0}));
177+
EXPECT_TRUE(ExtsRV64G.at("a") == (RISCVExtensionInfo{2, 0}));
178+
EXPECT_TRUE(ExtsRV64G.at("f") == (RISCVExtensionInfo{2, 0}));
179+
EXPECT_TRUE(ExtsRV64G.at("d") == (RISCVExtensionInfo{2, 0}));
187180
EXPECT_EQ(InfoRV64G.getXLen(), 64U);
188181
EXPECT_EQ(InfoRV64G.getFLen(), 64U);
189182
}
@@ -237,7 +230,7 @@ TEST(ParseArchString, IgnoresUnrecognizedExtensionNamesWithIgnoreUnknown) {
237230
RISCVISAInfo &Info = **MaybeISAInfo;
238231
RISCVISAInfo::OrderedExtensionMap Exts = Info.getExtensions();
239232
EXPECT_EQ(Exts.size(), 1UL);
240-
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
233+
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{2, 0}));
241234
}
242235

243236
// Checks that supported extensions aren't incorrectly ignored when a
@@ -246,21 +239,21 @@ TEST(ParseArchString, IgnoresUnrecognizedExtensionNamesWithIgnoreUnknown) {
246239
RISCVISAInfo::parseArchString("rv32i_zbc1p0_xmadeup", true, false, true);
247240
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
248241
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
249-
EXPECT_TRUE(Exts.at("zbc") == (RISCVExtensionInfo{"zbc", 1, 0}));
242+
EXPECT_TRUE(Exts.at("zbc") == (RISCVExtensionInfo{1, 0}));
250243
}
251244

252245
TEST(ParseArchString, AcceptsVersionInLongOrShortForm) {
253246
for (StringRef Input : {"rv64i2", "rv64i2p0"}) {
254247
auto MaybeISAInfo = RISCVISAInfo::parseArchString(Input, true);
255248
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
256249
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
257-
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
250+
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{2, 0}));
258251
}
259252
for (StringRef Input : {"rv32i_zfinx1", "rv32i_zfinx1p0"}) {
260253
auto MaybeISAInfo = RISCVISAInfo::parseArchString(Input, true);
261254
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
262255
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
263-
EXPECT_TRUE(Exts.at("zfinx") == (RISCVExtensionInfo{"zfinx", 1, 0}));
256+
EXPECT_TRUE(Exts.at("zfinx") == (RISCVExtensionInfo{1, 0}));
264257
}
265258
}
266259

@@ -293,7 +286,7 @@ TEST(ParseArchString,
293286
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
294287
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
295288
EXPECT_EQ(Exts.size(), 1UL);
296-
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{"i", 2, 0}));
289+
EXPECT_TRUE(Exts.at("i") == (RISCVExtensionInfo{2, 0}));
297290
}
298291
}
299292

@@ -303,13 +296,13 @@ TEST(ParseArchString, AcceptsUnderscoreSplittingExtensions) {
303296
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
304297
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
305298
EXPECT_EQ(Exts.size(), 7UL);
306-
EXPECT_EQ(Exts.at("i").ExtName, "i");
307-
EXPECT_EQ(Exts.at("m").ExtName, "m");
308-
EXPECT_EQ(Exts.at("a").ExtName, "a");
309-
EXPECT_EQ(Exts.at("f").ExtName, "f");
310-
EXPECT_EQ(Exts.at("d").ExtName, "d");
311-
EXPECT_EQ(Exts.at("c").ExtName, "c");
312-
EXPECT_EQ(Exts.at("zifencei").ExtName, "zifencei");
299+
EXPECT_EQ(Exts.count("i"), 1U);
300+
EXPECT_EQ(Exts.count("m"), 1U);
301+
EXPECT_EQ(Exts.count("a"), 1U);
302+
EXPECT_EQ(Exts.count("f"), 1U);
303+
EXPECT_EQ(Exts.count("d"), 1U);
304+
EXPECT_EQ(Exts.count("c"), 1U);
305+
EXPECT_EQ(Exts.count("zifencei"), 1U);
313306
}
314307
}
315308

@@ -359,12 +352,12 @@ TEST(ParseArchString,
359352
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
360353
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
361354
EXPECT_EQ(Exts.size(), 2UL);
362-
EXPECT_EQ(Exts.at("zihintntl").ExtName, "zihintntl");
355+
EXPECT_EQ(Exts.count("zihintntl"), 1U);
363356
auto MaybeISAInfo2 = RISCVISAInfo::parseArchString("rv64izihintntl0p2", true);
364357
ASSERT_THAT_EXPECTED(MaybeISAInfo2, Succeeded());
365358
RISCVISAInfo::OrderedExtensionMap Exts2 = (*MaybeISAInfo2)->getExtensions();
366359
EXPECT_EQ(Exts2.size(), 2UL);
367-
EXPECT_EQ(Exts2.at("zihintntl").ExtName, "zihintntl");
360+
EXPECT_EQ(Exts2.count("zihintntl"), 1U);
368361
}
369362

370363
TEST(ParseArchString,
@@ -382,7 +375,7 @@ TEST(ParseArchString,
382375
ASSERT_THAT_EXPECTED(MaybeISAInfo, Succeeded());
383376
RISCVISAInfo::OrderedExtensionMap Exts = (*MaybeISAInfo)->getExtensions();
384377
EXPECT_EQ(Exts.size(), 2UL);
385-
EXPECT_TRUE(Exts.at("zihintntl") == (RISCVExtensionInfo{"zihintntl", 9, 9}));
378+
EXPECT_TRUE(Exts.at("zihintntl") == (RISCVExtensionInfo{9, 9}));
386379
}
387380

388381
TEST(ParseArchString, RejectsUnrecognizedVersionForExperimentalExtension) {
@@ -407,23 +400,23 @@ TEST(ParseArchString, AddsImpliedExtensions) {
407400
RISCVISAInfo::OrderedExtensionMap ExtsRV64ID =
408401
(*MaybeRV64ID)->getExtensions();
409402
EXPECT_EQ(ExtsRV64ID.size(), 3UL);
410-
EXPECT_EQ(ExtsRV64ID.at("i").ExtName, "i");
411-
EXPECT_EQ(ExtsRV64ID.at("f").ExtName, "f");
412-
EXPECT_EQ(ExtsRV64ID.at("d").ExtName, "d");
403+
EXPECT_EQ(ExtsRV64ID.count("i"), 1U);
404+
EXPECT_EQ(ExtsRV64ID.count("f"), 1U);
405+
EXPECT_EQ(ExtsRV64ID.count("d"), 1U);
413406

414407
auto MaybeRV32IZKN = RISCVISAInfo::parseArchString("rv64izkn", true);
415408
ASSERT_THAT_EXPECTED(MaybeRV32IZKN, Succeeded());
416409
RISCVISAInfo::OrderedExtensionMap ExtsRV32IZKN =
417410
(*MaybeRV32IZKN)->getExtensions();
418411
EXPECT_EQ(ExtsRV32IZKN.size(), 8UL);
419-
EXPECT_EQ(ExtsRV32IZKN.at("i").ExtName, "i");
420-
EXPECT_EQ(ExtsRV32IZKN.at("zbkb").ExtName, "zbkb");
421-
EXPECT_EQ(ExtsRV32IZKN.at("zbkc").ExtName, "zbkc");
422-
EXPECT_EQ(ExtsRV32IZKN.at("zbkx").ExtName, "zbkx");
423-
EXPECT_EQ(ExtsRV32IZKN.at("zkne").ExtName, "zkne");
424-
EXPECT_EQ(ExtsRV32IZKN.at("zknd").ExtName, "zknd");
425-
EXPECT_EQ(ExtsRV32IZKN.at("zknh").ExtName, "zknh");
426-
EXPECT_EQ(ExtsRV32IZKN.at("zkn").ExtName, "zkn");
412+
EXPECT_EQ(ExtsRV32IZKN.count("i"), 1U);
413+
EXPECT_EQ(ExtsRV32IZKN.count("zbkb"), 1U);
414+
EXPECT_EQ(ExtsRV32IZKN.count("zbkc"), 1U);
415+
EXPECT_EQ(ExtsRV32IZKN.count("zbkx"), 1U);
416+
EXPECT_EQ(ExtsRV32IZKN.count("zkne"), 1U);
417+
EXPECT_EQ(ExtsRV32IZKN.count("zknd"), 1U);
418+
EXPECT_EQ(ExtsRV32IZKN.count("zknh"), 1U);
419+
EXPECT_EQ(ExtsRV32IZKN.count("zkn"), 1U);
427420
}
428421

429422
TEST(ParseArchString, RejectsConflictingExtensions) {

0 commit comments

Comments
 (0)