Skip to content

Commit c03b0dd

Browse files
authored
Add MTIA and META to triple (#150236)
Ref: https://ai.meta.com/blog/next-generation-meta-training-inference-accelerator-AI-MTIA/ This PR contains 1. MTIA: Meta Training and Inference Accelerator as Environment. 2. Meta as the vendor. ### Testing Added a unittest for the relevant changes ### Reviewers @clayborg , @jeffreytan81 , @Jlalond
1 parent fc2850f commit c03b0dd

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

llvm/include/llvm/TargetParser/Triple.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,8 @@ class Triple {
199199
SUSE,
200200
OpenEmbedded,
201201
Intel,
202-
LastVendorType = Intel
202+
Meta,
203+
LastVendorType = Meta
203204
};
204205
enum OSType {
205206
UnknownOS,
@@ -307,8 +308,8 @@ class Triple {
307308
Mlibc,
308309

309310
PAuthTest,
310-
311-
LastEnvironmentType = PAuthTest
311+
MTIA,
312+
LastEnvironmentType = MTIA
312313
};
313314
enum ObjectFormatType {
314315
UnknownObjectFormat,

llvm/lib/TargetParser/Triple.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ StringRef Triple::getVendorTypeName(VendorType Kind) {
277277
case PC: return "pc";
278278
case SCEI: return "scei";
279279
case SUSE: return "suse";
280+
case Meta:
281+
return "meta";
280282
}
281283

282284
llvm_unreachable("Invalid VendorType!");
@@ -390,6 +392,8 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
390392
case OpenHOS: return "ohos";
391393
case PAuthTest:
392394
return "pauthtest";
395+
case MTIA:
396+
return "mtia";
393397
case LLVM:
394398
return "llvm";
395399
case Mlibc:
@@ -677,6 +681,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
677681
.Case("suse", Triple::SUSE)
678682
.Case("oe", Triple::OpenEmbedded)
679683
.Case("intel", Triple::Intel)
684+
.Case("meta", Triple::Meta)
680685
.Default(Triple::UnknownVendor);
681686
}
682687

@@ -780,6 +785,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
780785
.StartsWith("pauthtest", Triple::PAuthTest)
781786
.StartsWith("llvm", Triple::LLVM)
782787
.StartsWith("mlibc", Triple::Mlibc)
788+
.StartsWith("mtia", Triple::MTIA)
783789
.Default(Triple::UnknownEnvironment);
784790
}
785791

llvm/unittests/TargetParser/TripleTest.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -758,6 +758,12 @@ TEST(TripleTest, ParsedIDs) {
758758
EXPECT_EQ(Triple::UnknownOS, T.getOS());
759759
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
760760

761+
T = Triple("riscv64-meta-unknown-mtia");
762+
EXPECT_EQ(Triple::riscv64, T.getArch());
763+
EXPECT_EQ(Triple::Meta, T.getVendor());
764+
EXPECT_EQ(Triple::UnknownOS, T.getOS());
765+
EXPECT_EQ(Triple::MTIA, T.getEnvironment());
766+
761767
T = Triple("riscv64-unknown-linux");
762768
EXPECT_EQ(Triple::riscv64, T.getArch());
763769
EXPECT_EQ(Triple::UnknownVendor, T.getVendor());

0 commit comments

Comments
 (0)