[llvm] PlumOS/llvm (PR #124795)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 09:17:07 PST 2025


https://github.com/JkFussy created https://github.com/llvm/llvm-project/pull/124795

[Support][Triple] Added new OS for testing

>From a6811c08ef9291a8044ec432c848bc1d6840ba36 Mon Sep 17 00:00:00 2001
From: JkFussy <dimasurkov13 at outlook.com>
Date: Tue, 28 Jan 2025 19:58:20 +0300
Subject: [PATCH] PlumOS/llvm

[Support][Triple] Added new OS for testing
---
 llvm/include/llvm/TargetParser/Triple.h | 11 +++++++----
 llvm/lib/TargetParser/Triple.cpp        |  7 +++++++
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/llvm/include/llvm/TargetParser/Triple.h b/llvm/include/llvm/TargetParser/Triple.h
index ed6f48fba788b1..83a2194209615b 100644
--- a/llvm/include/llvm/TargetParser/Triple.h
+++ b/llvm/include/llvm/TargetParser/Triple.h
@@ -194,7 +194,8 @@ class Triple {
     SUSE,
     OpenEmbedded,
     Intel,
-    LastVendorType = Intel
+    Plumbear,
+    LastVendorType = Plumbear
   };
   enum OSType {
     UnknownOS,
@@ -239,7 +240,8 @@ class Triple {
     LiteOS,
     Serenity,
     Vulkan, // Vulkan SPIR-V
-    LastOSType = Vulkan
+    PlumOS,
+    LastOSType = PlumOS
   };
   enum EnvironmentType {
     UnknownEnvironment,
@@ -301,8 +303,8 @@ class Triple {
     OpenHOS,
 
     PAuthTest,
-
-    LastEnvironmentType = PAuthTest
+    PlumEnv,
+    LastEnvironmentType = PlumEnv
   };
   enum ObjectFormatType {
     UnknownObjectFormat,
@@ -315,6 +317,7 @@ class Triple {
     SPIRV,
     Wasm,
     XCOFF,
+    PLM,
   };
 
 private:
diff --git a/llvm/lib/TargetParser/Triple.cpp b/llvm/lib/TargetParser/Triple.cpp
index e9e6f130f757cf..8f1e71ce614ae7 100644
--- a/llvm/lib/TargetParser/Triple.cpp
+++ b/llvm/lib/TargetParser/Triple.cpp
@@ -270,6 +270,7 @@ StringRef Triple::getVendorTypeName(VendorType Kind) {
   case PC: return "pc";
   case SCEI: return "scei";
   case SUSE: return "suse";
+  case PLUMBEAR: return "plumbear";
   }
 
   llvm_unreachable("Invalid VendorType!");
@@ -319,6 +320,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
   case LiteOS: return "liteos";
   case XROS: return "xros";
   case Vulkan: return "vulkan";
+  case PlumOS: return "plumos";
   }
 
   llvm_unreachable("Invalid OSType");
@@ -384,6 +386,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
     return "pauthtest";
   case LLVM:
     return "llvm";
+  case PlumEnv: return "plumenv";
   }
 
   llvm_unreachable("Invalid EnvironmentType!");
@@ -400,6 +403,7 @@ StringRef Triple::getObjectFormatTypeName(ObjectFormatType Kind) {
   case XCOFF: return "xcoff";
   case DXContainer: return "dxcontainer";
   case SPIRV: return "spirv";
+  case PLM: return "plm";
   }
   llvm_unreachable("unknown object format type");
 }
@@ -711,6 +715,7 @@ static Triple::OSType parseOS(StringRef OSName) {
     .StartsWith("liteos", Triple::LiteOS)
     .StartsWith("serenity", Triple::Serenity)
     .StartsWith("vulkan", Triple::Vulkan)
+    .StartsWith("plumos", Triple::PlumOS)
     .Default(Triple::UnknownOS);
 }
 
@@ -766,6 +771,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
       .StartsWith("ohos", Triple::OpenHOS)
       .StartsWith("pauthtest", Triple::PAuthTest)
       .StartsWith("llvm", Triple::LLVM)
+      .StartsWith("plumenv", Triple::PlumEnv)
       .Default(Triple::UnknownEnvironment);
 }
 
@@ -780,6 +786,7 @@ static Triple::ObjectFormatType parseFormat(StringRef EnvironmentName) {
       .EndsWith("macho", Triple::MachO)
       .EndsWith("wasm", Triple::Wasm)
       .EndsWith("spirv", Triple::SPIRV)
+      .EndsWith("plm", Triple::PLM)
       .Default(Triple::UnknownObjectFormat);
 }
 



More information about the llvm-commits mailing list