[ELF] --reproduce should include lto sample profile

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D84569
This commit is contained in:
Christy Lee 2020-07-28 09:41:27 -07:00 committed by Wenlei He
parent 0c64233bb7
commit bd4757cc4e
2 changed files with 13 additions and 0 deletions

View File

@ -495,6 +495,9 @@ void LinkerDriver::main(ArrayRef<const char *> argsArr) {
tar = std::move(*errOrWriter);
tar->append("response.txt", createResponseFile(args));
tar->append("version.txt", getLLDVersion() + "\n");
StringRef ltoSampleProfile = args.getLastArgValue(OPT_lto_sample_profile);
if (!ltoSampleProfile.empty())
readFile(ltoSampleProfile);
} else {
error("--reproduce: " + toString(errOrWriter.takeError()));
}

View File

@ -0,0 +1,10 @@
# REQUIRES: x86
# RUN: rm -rf %t.dir
# RUN: mkdir -p %t.dir/build1
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t.dir/build1/foo.o
# RUN: echo > %t.dir/build1/empty_profile.txt
# RUN: cd %t.dir
# RUN: ld.lld build1/foo.o -o /dev/null --reproduce repro1.tar --lto-sample-profile=%t.dir/build1/empty_profile.txt
# RUN: tar tvf repro1.tar | FileCheck %s
# CHECK: repro1/{{.*}}/empty_profile.txt