[PATCH] D123971: [clang] Enable SplitLTOUnits by default for SIE targets
Matthew Voss via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 25 09:38:45 PDT 2022
ormris updated this revision to Diff 424943.
ormris added a comment.
Add context.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123971/new/
https://reviews.llvm.org/D123971
Files:
clang/lib/Driver/ToolChains/Clang.cpp
clang/lib/Frontend/CompilerInvocation.cpp
Index: clang/lib/Frontend/CompilerInvocation.cpp
===================================================================
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -1754,6 +1754,13 @@
Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << S;
}
+ if (Opts.UnifiedLTO) {
+ if (T.getOS() == llvm::Triple::PS4)
+ Opts.EnableSplitLTOUnit = false;
+ else
+ Opts.EnableSplitLTOUnit = true;
+ }
+
if (Arg *A = Args.getLastArg(OPT_fthinlto_index_EQ)) {
if (IK.getLanguage() != Language::LLVM_IR)
Diags.Report(diag::err_drv_argument_only_allowed_with)
Index: clang/lib/Driver/ToolChains/Clang.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Clang.cpp
+++ clang/lib/Driver/ToolChains/Clang.cpp
@@ -4551,10 +4551,11 @@
// Select the appropriate action.
RewriteKind rewriteKind = RK_None;
+ bool DefaultUnified = Triple.isPS4();
bool UnifiedLTO =
Args.hasFlag(options::OPT_funified_lto,
options::OPT_fno_unified_lto,
- false);
+ DefaultUnified);
if (UnifiedLTO)
CmdArgs.push_back("-funified-lto");
@@ -7043,7 +7044,8 @@
bool DefaultsSplitLTOUnit =
(WholeProgramVTables || SanitizeArgs.needsLTO()) &&
- (LTOMode == LTOK_Full || TC.canSplitThinLTOUnit());
+ (LTOMode == LTOK_Full || TC.canSplitThinLTOUnit()) ||
+ UnifiedLTO;
bool SplitLTOUnit =
Args.hasFlag(options::OPT_fsplit_lto_unit,
options::OPT_fno_split_lto_unit, DefaultsSplitLTOUnit);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123971.424943.patch
Type: text/x-patch
Size: 1652 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220425/549d1e8f/attachment.bin>
More information about the llvm-commits
mailing list