[clang] Fix -flto-jobs for AIX. (PR #67853)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 29 14:18:40 PDT 2023
https://github.com/Dhanrajbir-Hira created https://github.com/llvm/llvm-project/pull/67853
None
>From c975a0f711cccd41a4602d97dab2864bde809144 Mon Sep 17 00:00:00 2001
From: Dhanrajbir Singh Hira <Dhanrajbir.Hira at ibm.com>
Date: Fri, 29 Sep 2023 17:10:36 -0400
Subject: [PATCH] Fix -flto-jobs for AIX.
---
clang/lib/Driver/ToolChains/CommonArgs.cpp | 5 +++--
clang/test/Driver/lto-jobs.c | 5 +++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 48170fa908fd62f..25fd940584624ee 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -631,6 +631,7 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
const char *PluginOptPrefix = IsOSAIX ? "-bplugin_opt:" : "-plugin-opt=";
const char *ExtraDash = IsOSAIX ? "-" : "";
+ const char *ParallelismOpt = IsOSAIX ? "-threads=" : "jobs=";
// Note, this solution is far from perfect, better to encode it into IR
// metadata, but this may not be worth it, since it looks like aranges is on
@@ -690,8 +691,8 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
StringRef Parallelism = getLTOParallelism(Args, D);
if (!Parallelism.empty())
- CmdArgs.push_back(
- Args.MakeArgString(Twine(PluginOptPrefix) + "jobs=" + Parallelism));
+ CmdArgs.push_back(Args.MakeArgString(Twine(PluginOptPrefix) +
+ ParallelismOpt + Parallelism));
// If an explicit debugger tuning argument appeared, pass it along.
if (Arg *A =
diff --git a/clang/test/Driver/lto-jobs.c b/clang/test/Driver/lto-jobs.c
index 73d7a94dd289cfa..43a478b0664d847 100644
--- a/clang/test/Driver/lto-jobs.c
+++ b/clang/test/Driver/lto-jobs.c
@@ -17,3 +17,8 @@
// RUN: FileCheck -check-prefix=CHECK-LINK-THIN-JOBS2-ACTION < %t %s
//
// CHECK-LINK-THIN-JOBS2-ACTION: "-mllvm" "-threads={{[0-9]+}}"
+
+// RUN: %clang --target=powerpc-ibm-aix -### %s -flto=thin -flto-jobs=5 2> %t
+// RUN: FileCheck -check-prefix=CHECK-AIX-LINK-THIN-JOBS-ACTION < %t %s
+//
+// CHECK-AIX-LINK-THIN-JOBS-ACTION: "-bplugin_opt:-threads=5"
More information about the cfe-commits
mailing list