From bd4757cc4e40cb1b916c2c39f7bac8abc5adc294 Mon Sep 17 00:00:00 2001 From: Christy Lee Date: Tue, 28 Jul 2020 09:41:27 -0700 Subject: [PATCH] [ELF] --reproduce should include lto sample profile Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D84569 --- lld/ELF/Driver.cpp | 3 +++ lld/test/ELF/reproduce-lto.s | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 lld/test/ELF/reproduce-lto.s diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 30bff945f1a54..64a41ba77ba2f 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -495,6 +495,9 @@ void LinkerDriver::main(ArrayRef 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())); } diff --git a/lld/test/ELF/reproduce-lto.s b/lld/test/ELF/reproduce-lto.s new file mode 100644 index 0000000000000..e7c3ece61085d --- /dev/null +++ b/lld/test/ELF/reproduce-lto.s @@ -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