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
