Author: Konstantin Belochapka
Date: 2026-06-11T03:15:10-07:00
New Revision: f5bf584afaaf0549fbf5d645298ff5a3bea31b96

URL: 
https://github.com/llvm/llvm-project/commit/f5bf584afaaf0549fbf5d645298ff5a3bea31b96
DIFF: 
https://github.com/llvm/llvm-project/commit/f5bf584afaaf0549fbf5d645298ff5a3bea31b96.diff

LOG: [clang][PS5] Clang driver PS5 - pass the target CPU to lld. (#202924)

Forward the PS5 target CPU from the clang driver to lld as
`-plugin-opt=mcpu=znver2`, matching behavior of other platforms.

Most drivers call addLTOOptions to include LTO-related link options. That 
includes specifying mcpu. The PS5 driver doesn't yet call addLTOOptions. In 
time I hope we'll arrive at a point where we can refactor to use the same 
functionality. This is one step towards that.
---------

Co-authored-by: Edd Dawson <[email protected]>

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/PS4CPU.cpp
    clang/test/Driver/ps5-linker.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp 
b/clang/lib/Driver/ToolChains/PS4CPU.cpp
index 20ba7aa9de04a..f9f66d53a0e81 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"
@@ -370,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 6f37ca8958fc1..ed30a4f054df6 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=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)?}}"
+// CHECK-CLANG-TARGET-CPU: "-plugin-opt=mcpu=znver2"


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

Reply via email to