https://github.com/kbelochapka updated 
https://github.com/llvm/llvm-project/pull/202924

>From e24d9a71294cabfb6b7716ecb776d980179206f2 Mon Sep 17 00:00:00 2001
From: Konstantin Belochapka <[email protected]>
Date: Wed, 10 Jun 2026 03:38:06 -0700
Subject: [PATCH 1/3] [clang][PS5] Clang driver PS5 - pass the target CPU to
 lld.

---
 clang/lib/Driver/ToolChains/PS4CPU.cpp | 4 ++++
 clang/test/Driver/ps5-linker.c         | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp 
b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index 8f5d3ec8a6f91..234dcba64c897 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.cpp
+++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp
@@ -7,6 +7,7 @@
 
//===----------------------------------------------------------------------===//
 
 #include "PS4CPU.h"
+#include "Arch/X86.h"
 #include "clang/Config/config.h"
 #include "clang/Driver/CommonArgs.h"
 #include "clang/Driver/Compilation.h"
@@ -178,6 +179,9 @@ void tools::PS4cpu::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
   if (StringRef Threads = getLTOParallelism(Args, D); !Threads.empty())
     AddLTOFlag(Twine("-threads=") + Threads);
 
+  std::string CPU = tools::x86::getX86TargetCPU(D, Args, TC.getTriple());
+  AddLTOFlag(Twine("mcpu=" + CPU));
+
   if (*LTOArgs)
     CmdArgs.push_back(
         Args.MakeArgString(Twine("-lto-debug-options=") + LTOArgs));
diff --git a/clang/test/Driver/ps5-linker.c b/clang/test/Driver/ps5-linker.c
index 6f37ca8958fc1..ea8d7f95de5dd 100644
--- a/clang/test/Driver/ps5-linker.c
+++ b/clang/test/Driver/ps5-linker.c
@@ -220,3 +220,9 @@
 // CHECK-NO-FAT-LTO: {{ld(\.exe)?}}"
 // CHECK-NO-FAT-LTO-NOT: "--fat-lto-objects"
 // CHECK-NO-FAT-LTO-SAME: {{$}}
+
+// Check -plugin-opt=mcpu=znver2s is passed to prospero-lld.
+// RUN: %clang --target=x86_64-sie-ps5 %s -### 2>&1 | FileCheck 
--check-prefixes=CHECK-CLANG-TARGET-CPU %s
+
+// CHECK-CLANG-TARGET-CPU: {{ld(\.exe)?}}"
+// CHECK-CLANG-TARGET-CPU: "-plugin-opt=mcpu=znver2s"

>From a2cba9f93149da3f912bc6a96df6bbcf17184966 Mon Sep 17 00:00:00 2001
From: Konstantin Belochapka <[email protected]>
Date: Wed, 10 Jun 2026 23:04:05 -0700
Subject: [PATCH 2/3] [clang][PS5] Clang driver PS5 pass the target CPU to lld
 - Fixed incorrect merge. Replaced mcpu=znver2s for mcpu=znver2.

---
 clang/lib/Driver/ToolChains/PS4CPU.cpp | 6 +++---
 clang/test/Driver/ps5-linker.c         | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp 
b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index 234dcba64c897..431df5dbfabd1 100644
--- a/clang/lib/Driver/ToolChains/PS4CPU.cpp
+++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp
@@ -179,9 +179,6 @@ void tools::PS4cpu::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
   if (StringRef Threads = getLTOParallelism(Args, D); !Threads.empty())
     AddLTOFlag(Twine("-threads=") + Threads);
 
-  std::string CPU = tools::x86::getX86TargetCPU(D, Args, TC.getTriple());
-  AddLTOFlag(Twine("mcpu=" + CPU));
-
   if (*LTOArgs)
     CmdArgs.push_back(
         Args.MakeArgString(Twine("-lto-debug-options=") + LTOArgs));
@@ -374,6 +371,9 @@ void tools::PS5cpu::Linker::ConstructJob(Compilation &C, 
const JobAction &JA,
   if (StringRef Jobs = getLTOParallelism(Args, D); !Jobs.empty())
     AddLTOFlag(Twine("jobs=") + Jobs);
 
+  std::string CPU = tools::x86::getX86TargetCPU(D, Args, TC.getTriple());
+  AddLTOFlag(Twine("mcpu=" + CPU));
+
   Args.AddAllArgs(CmdArgs, options::OPT_L);
   TC.AddFilePathLibArgs(Args, CmdArgs);
   Args.addAllArgs(CmdArgs,
diff --git a/clang/test/Driver/ps5-linker.c b/clang/test/Driver/ps5-linker.c
index ea8d7f95de5dd..75aeb2a0c0b8f 100644
--- a/clang/test/Driver/ps5-linker.c
+++ b/clang/test/Driver/ps5-linker.c
@@ -225,4 +225,4 @@
 // RUN: %clang --target=x86_64-sie-ps5 %s -### 2>&1 | FileCheck 
--check-prefixes=CHECK-CLANG-TARGET-CPU %s
 
 // CHECK-CLANG-TARGET-CPU: {{ld(\.exe)?}}"
-// CHECK-CLANG-TARGET-CPU: "-plugin-opt=mcpu=znver2s"
+// CHECK-CLANG-TARGET-CPU: "-plugin-opt=mcpu=znver2"

>From 8fa3efadae98e4958eeb917d624d7ecb688cc68f Mon Sep 17 00:00:00 2001
From: Konstantin Belochapka <[email protected]>
Date: Thu, 11 Jun 2026 02:21:18 -0700
Subject: [PATCH 3/3] Update clang/test/Driver/ps5-linker.c

Co-authored-by: Edd Dawson <[email protected]>
---
 clang/test/Driver/ps5-linker.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/test/Driver/ps5-linker.c b/clang/test/Driver/ps5-linker.c
index 75aeb2a0c0b8f..ed30a4f054df6 100644
--- a/clang/test/Driver/ps5-linker.c
+++ b/clang/test/Driver/ps5-linker.c
@@ -221,7 +221,7 @@
 // CHECK-NO-FAT-LTO-NOT: "--fat-lto-objects"
 // CHECK-NO-FAT-LTO-SAME: {{$}}
 
-// Check -plugin-opt=mcpu=znver2s is passed to prospero-lld.
+// Check -plugin-opt=mcpu=znver2 is passed to prospero-lld.
 // RUN: %clang --target=x86_64-sie-ps5 %s -### 2>&1 | FileCheck 
--check-prefixes=CHECK-CLANG-TARGET-CPU %s
 
 // CHECK-CLANG-TARGET-CPU: {{ld(\.exe)?}}"

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to