@@ -61,6 +61,7 @@ StringRef Triple::getArchTypeName(ArchType Kind) {
61
61
case renderscript64: return "renderscript64";
62
62
case riscv32: return "riscv32";
63
63
case riscv64: return "riscv64";
64
+ case sbf: return "sbf";
64
65
case shave: return "shave";
65
66
case sparc: return "sparc";
66
67
case sparcel: return "sparcel";
@@ -158,6 +159,8 @@ StringRef Triple::getArchTypePrefix(ArchType Kind) {
158
159
159
160
case ve: return "ve";
160
161
case csky: return "csky";
162
+
163
+ case sbf: return "sbf";
161
164
}
162
165
}
163
166
@@ -179,6 +182,7 @@ StringRef Triple::getVendorTypeName(VendorType Kind) {
179
182
case PC: return "pc";
180
183
case SCEI: return "scei";
181
184
case SUSE: return "suse";
185
+ case Solana: return "solana";
182
186
}
183
187
184
188
llvm_unreachable("Invalid VendorType!");
@@ -223,6 +227,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
223
227
case WatchOS: return "watchos";
224
228
case Win32: return "windows";
225
229
case ZOS: return "zos";
230
+ case SolanaOS: return "solana";
226
231
}
227
232
228
233
llvm_unreachable("Invalid OSType");
@@ -267,6 +272,8 @@ static Triple::ArchType parseBPFArch(StringRef ArchName) {
267
272
return Triple::bpfeb;
268
273
} else if (ArchName.equals("bpf_le") || ArchName.equals("bpfel")) {
269
274
return Triple::bpfel;
275
+ } else if (ArchName.equals("sbf")) {
276
+ return Triple::sbf;
270
277
} else {
271
278
return Triple::UnknownArch;
272
279
}
@@ -302,6 +309,7 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) {
302
309
.Case("riscv32", riscv32)
303
310
.Case("riscv64", riscv64)
304
311
.Case("hexagon", hexagon)
312
+ .Case("sbf", BPFArch)
305
313
.Case("sparc", sparc)
306
314
.Case("sparcel", sparcel)
307
315
.Case("sparcv9", sparcv9)
@@ -473,7 +481,7 @@ static Triple::ArchType parseArch(StringRef ArchName) {
473
481
if (ArchName.startswith("arm") || ArchName.startswith("thumb") ||
474
482
ArchName.startswith("aarch64"))
475
483
return parseARMArch(ArchName);
476
- if (ArchName.startswith("bpf"))
484
+ if (ArchName.startswith("bpf") || ArchName.startswith("sbf") )
477
485
return parseBPFArch(ArchName);
478
486
}
479
487
@@ -497,6 +505,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
497
505
.Case("mesa", Triple::Mesa)
498
506
.Case("suse", Triple::SUSE)
499
507
.Case("oe", Triple::OpenEmbedded)
508
+ .Case("solana", Triple::Solana)
500
509
.Default(Triple::UnknownVendor);
501
510
}
502
511
@@ -538,6 +547,7 @@ static Triple::OSType parseOS(StringRef OSName) {
538
547
.StartsWith("hurd", Triple::Hurd)
539
548
.StartsWith("wasi", Triple::WASI)
540
549
.StartsWith("emscripten", Triple::Emscripten)
550
+ .StartsWith("solana", Triple::SolanaOS)
541
551
.Default(Triple::UnknownOS);
542
552
}
543
553
@@ -726,6 +736,7 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
726
736
case Triple::renderscript64:
727
737
case Triple::riscv32:
728
738
case Triple::riscv64:
739
+ case Triple::sbf:
729
740
case Triple::shave:
730
741
case Triple::sparc:
731
742
case Triple::sparcel:
@@ -1322,6 +1333,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) {
1322
1333
case llvm::Triple::ppc64le:
1323
1334
case llvm::Triple::renderscript64:
1324
1335
case llvm::Triple::riscv64:
1336
+ case llvm::Triple::sbf:
1325
1337
case llvm::Triple::sparcv9:
1326
1338
case llvm::Triple::spir64:
1327
1339
case llvm::Triple::systemz:
@@ -1354,6 +1366,7 @@ Triple Triple::get32BitArchVariant() const {
1354
1366
case Triple::bpfeb:
1355
1367
case Triple::bpfel:
1356
1368
case Triple::msp430:
1369
+ case Triple::sbf:
1357
1370
case Triple::systemz:
1358
1371
case Triple::ve:
1359
1372
T.setArch(UnknownArch);
@@ -1449,6 +1462,7 @@ Triple Triple::get64BitArchVariant() const {
1449
1462
case Triple::ppc64le:
1450
1463
case Triple::renderscript64:
1451
1464
case Triple::riscv64:
1465
+ case Triple::sbf:
1452
1466
case Triple::sparcv9:
1453
1467
case Triple::spir64:
1454
1468
case Triple::systemz:
@@ -1600,6 +1614,7 @@ bool Triple::isLittleEndian() const {
1600
1614
case Triple::renderscript64:
1601
1615
case Triple::riscv32:
1602
1616
case Triple::riscv64:
1617
+ case Triple::sbf:
1603
1618
case Triple::shave:
1604
1619
case Triple::sparcel:
1605
1620
case Triple::spir64:
0 commit comments