Fix invocation of Gold plugin with LTO after r355331
The above commit breaks the usage of PGO and LTO when -fprofile-use is supplied without a path. This patch changes the usage of this argument to be inline with its use in addPGOAndCoverageFlags(). Differential revision: https://reviews.llvm.org/D59304 llvm-svn: 356111
This commit is contained in:
parent
d383a342aa
commit
784cdb439e
|
@ -464,8 +464,12 @@ void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args,
|
|||
CmdArgs.push_back(
|
||||
Args.MakeArgString("-plugin-opt=cs-profile-path=default_%m.profraw"));
|
||||
} else if (ProfileUseArg) {
|
||||
SmallString<128> Path(
|
||||
ProfileUseArg->getNumValues() == 0 ? "" : ProfileUseArg->getValue());
|
||||
if (Path.empty() || llvm::sys::fs::is_directory(Path))
|
||||
llvm::sys::path::append(Path, "default.profdata");
|
||||
CmdArgs.push_back(Args.MakeArgString(Twine("-plugin-opt=cs-profile-path=") +
|
||||
ProfileUseArg->getValue()));
|
||||
Path));
|
||||
}
|
||||
|
||||
// Need this flag to turn on new pass manager via Gold plugin.
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
// RUN: touch %t.o
|
||||
//
|
||||
// RUN: %clang -target x86_64-unknown-linux -### %t.o -flto=thin \
|
||||
// RUN: -fprofile-use 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: -plugin-opt=cs-profile-path=default.profdata
|
Loading…
Reference in New Issue