Skip to content

Commit 1c16807

Browse files
authored
[LLVM] Add Intel vendor in Triple (llvm#120250)
We plan to make use of this in SPIR-V-based OpenMP offloading, for which there is already an initial patch in review. Signed-off-by: Sarnie, Nick <[email protected]>
1 parent b26f534 commit 1c16807

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

llvm/include/llvm/TargetParser/Triple.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,8 @@ class Triple {
193193
Mesa,
194194
SUSE,
195195
OpenEmbedded,
196-
LastVendorType = OpenEmbedded
196+
Intel,
197+
LastVendorType = Intel
197198
};
198199
enum OSType {
199200
UnknownOS,

llvm/lib/TargetParser/Triple.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ StringRef Triple::getVendorTypeName(VendorType Kind) {
241241
case Freescale: return "fsl";
242242
case IBM: return "ibm";
243243
case ImaginationTechnologies: return "img";
244+
case Intel:
245+
return "intel";
244246
case Mesa: return "mesa";
245247
case MipsTechnologies: return "mti";
246248
case NVIDIA: return "nvidia";
@@ -627,21 +629,22 @@ static Triple::ArchType parseArch(StringRef ArchName) {
627629

628630
static Triple::VendorType parseVendor(StringRef VendorName) {
629631
return StringSwitch<Triple::VendorType>(VendorName)
630-
.Case("apple", Triple::Apple)
631-
.Case("pc", Triple::PC)
632-
.Case("scei", Triple::SCEI)
633-
.Case("sie", Triple::SCEI)
634-
.Case("fsl", Triple::Freescale)
635-
.Case("ibm", Triple::IBM)
636-
.Case("img", Triple::ImaginationTechnologies)
637-
.Case("mti", Triple::MipsTechnologies)
638-
.Case("nvidia", Triple::NVIDIA)
639-
.Case("csr", Triple::CSR)
640-
.Case("amd", Triple::AMD)
641-
.Case("mesa", Triple::Mesa)
642-
.Case("suse", Triple::SUSE)
643-
.Case("oe", Triple::OpenEmbedded)
644-
.Default(Triple::UnknownVendor);
632+
.Case("apple", Triple::Apple)
633+
.Case("pc", Triple::PC)
634+
.Case("scei", Triple::SCEI)
635+
.Case("sie", Triple::SCEI)
636+
.Case("fsl", Triple::Freescale)
637+
.Case("ibm", Triple::IBM)
638+
.Case("img", Triple::ImaginationTechnologies)
639+
.Case("mti", Triple::MipsTechnologies)
640+
.Case("nvidia", Triple::NVIDIA)
641+
.Case("csr", Triple::CSR)
642+
.Case("amd", Triple::AMD)
643+
.Case("mesa", Triple::Mesa)
644+
.Case("suse", Triple::SUSE)
645+
.Case("oe", Triple::OpenEmbedded)
646+
.Case("intel", Triple::Intel)
647+
.Default(Triple::UnknownVendor);
645648
}
646649

647650
static Triple::OSType parseOS(StringRef OSName) {

llvm/unittests/TargetParser/TripleTest.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,6 +1347,12 @@ TEST(TripleTest, ParsedIDs) {
13471347
EXPECT_EQ(Triple::Linux, T.getOS());
13481348
EXPECT_EQ(Triple::LLVM, T.getEnvironment());
13491349

1350+
T = Triple("spirv64-intel-unknown");
1351+
EXPECT_EQ(Triple::spirv64, T.getArch());
1352+
EXPECT_EQ(Triple::Intel, T.getVendor());
1353+
EXPECT_EQ(Triple::UnknownOS, T.getOS());
1354+
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
1355+
13501356
T = Triple("huh");
13511357
EXPECT_EQ(Triple::UnknownArch, T.getArch());
13521358
}

0 commit comments

Comments
 (0)