From 9e6670b03ceaa5980eccb06e2dd037e6a9584c66 Mon Sep 17 00:00:00 2001 From: Francis Visoiu Mistrih Date: Tue, 7 Apr 2020 13:49:00 -0700 Subject: [PATCH] [Driver] Only pass LTO remark arguments if the driver asks for it Previous fix missed a check to willEmitRemarks, causing remarks to always be enabled for LTO. --- clang/lib/Driver/ToolChains/Darwin.cpp | 3 ++- clang/test/Driver/darwin-opt-record-ld.c | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index ab98427..a113d05 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -533,7 +533,8 @@ void darwin::Linker::ConstructJob(Compilation &C, const JobAction &JA, // we follow suite for ease of comparison. AddLinkArgs(C, Args, CmdArgs, Inputs); - if (checkRemarksOptions(getToolChain().getDriver(), Args, + if (willEmitRemarks(Args) && + checkRemarksOptions(getToolChain().getDriver(), Args, getToolChain().getTriple())) renderRemarksOptions(Args, CmdArgs, getToolChain().getTriple(), Output, JA); diff --git a/clang/test/Driver/darwin-opt-record-ld.c b/clang/test/Driver/darwin-opt-record-ld.c index 0e1e312..83630ed 100644 --- a/clang/test/Driver/darwin-opt-record-ld.c +++ b/clang/test/Driver/darwin-opt-record-ld.c @@ -2,6 +2,10 @@ // RUN: touch %t.o // +// Check that we're not passing -lto-pass-remarks-output if not requested +// RUN: %clang -target x86_64-apple-darwin12 %t.o -### -o foo/bar.out 2> %t.log +// RUN: FileCheck -check-prefix=NO_PASS_REMARKS_OUTPUT %s < %t.log +// NO_PASS_REMARKS_OUTPUT-NOT: -lto-pass-remarks // Check that we're passing -lto-pass-remarks-output for LTO // RUN: %clang -target x86_64-apple-darwin12 %t.o -fsave-optimization-record -### -o foo/bar.out 2> %t.log // RUN: FileCheck -check-prefix=PASS_REMARKS_OUTPUT %s < %t.log -- 2.7.4