[llvm] r279349 - [LTO] Add the ability to test -thinlto-emit-imports-files through llvm-lto2

Yung, Douglas via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 22 00:53:05 PDT 2016


Hi Mehdi,

I'm not sure why, but the change you made seems to have caused the PS4 Windows bot to be red. From the latest test results (http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/10356/steps/test/logs/stdio), it seems to have a problem with the "rm" command that you added:

$ "rm" "-f" "C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\test\ThinLTO\X86\Output\emit_imports.ll.tmp*.thinlto.bc" "C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.obj\test\ThinLTO\X86\Output\emit_imports.ll.tmp*.bc.imports"
# command stderr:
rm: cannot remove `C:\\Buildbot\\Slave\\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\\llvm.obj\\test\\ThinLTO\\X86\\Output\\emit_imports.ll.tmp*.thinlto.bc': Invalid argument

Can you take a look into this?

Douglas Yung

> -----Original Message-----
> From: llvm-commits [mailto:llvm-commits-bounces at lists.llvm.org] On
> Behalf Of Mehdi Amini via llvm-commits
> Sent: Friday, August 19, 2016 16:55
> To: llvm-commits at lists.llvm.org
> Subject: [llvm] r279349 - [LTO] Add the ability to test -thinlto-emit-
> imports-files through llvm-lto2
> 
> Author: mehdi_amini
> Date: Fri Aug 19 18:54:40 2016
> New Revision: 279349
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=279349&view=rev
> Log:
> [LTO] Add the ability to test -thinlto-emit-imports-files through llvm-
> lto2
> 
> Summary:
> Start bringing llvm-lto2 to a level where we can test the LTO API a bit
> deeper.
> 
> Reviewers: tejohnson
> 
> Subscribers: llvm-commits, mehdi_amini
> 
> Differential Revision: https://reviews.llvm.org/D23681
> 
> Modified:
>     llvm/trunk/test/ThinLTO/X86/emit_imports.ll
>     llvm/trunk/tools/llvm-lto2/llvm-lto2.cpp
> 
> Modified: llvm/trunk/test/ThinLTO/X86/emit_imports.ll
> URL: http://llvm.org/viewvc/llvm-
> project/llvm/trunk/test/ThinLTO/X86/emit_imports.ll?rev=279349&r1=27934
> 8&r2=279349&view=diff
> =======================================================================
> =======
> --- llvm/trunk/test/ThinLTO/X86/emit_imports.ll (original)
> +++ llvm/trunk/test/ThinLTO/X86/emit_imports.ll Fri Aug 19 18:54:40
> 2016
> @@ -12,6 +12,19 @@
>  ; The imports file for Input/emit_imports.ll is empty as it does not
> import anything.
>  ; RUN: cat %t2.bc.imports | count 0
> 
> +; RUN: rm -f %t*.thinlto.bc %t*.bc.imports ; RUN: llvm-lto2 %t1.bc
> +%t2.bc -o %t.o \
> +; RUN:     -thinlto-distributed-indexes \
> +; RUN:     -r=%t1.bc,g, \
> +; RUN:     -r=%t1.bc,f,px \
> +; RUN:     -r=%t2.bc,g,px
> +
> +; RUN: cat %t1.bc.imports | count 1
> +; RUN: cat %t1.bc.imports | FileCheck %s --check-prefix=IMPORTS1
> +
> +; The imports file for Input/emit_imports.ll is empty as it does not
> import anything.
> +; RUN: cat %t2.bc.imports | count 0
> +
>  declare void @g(...)
> 
>  define void @f() {
> 
> Modified: llvm/trunk/tools/llvm-lto2/llvm-lto2.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-
> lto2/llvm-lto2.cpp?rev=279349&r1=279348&r2=279349&view=diff
> =======================================================================
> =======
> --- llvm/trunk/tools/llvm-lto2/llvm-lto2.cpp (original)
> +++ llvm/trunk/tools/llvm-lto2/llvm-lto2.cpp Fri Aug 19 18:54:40 2016
> @@ -33,6 +33,15 @@ static cl::opt<std::string> OutputFilena
> 
>  static cl::opt<bool> SaveTemps("save-temps", cl::desc("Save temporary
> files"));
> 
> +static cl::opt<bool>
> +    ThinLTODistributedIndexes("thinlto-distributed-indexes",
> cl::init(false),
> +                              cl::desc("Write out individual index and
> "
> +                                       "import files for the "
> +                                       "distributed backend case"));
> +
> +static cl::opt<int> Threads("-thinlto-threads",
> +                            cl::init(thread::hardware_concurrency()));
> +
>  static cl::list<std::string> SymbolResolutions(
>      "r",
>      cl::desc("Specify a symbol resolution:
> filename,symbolname,resolution\n"
> @@ -135,7 +144,12 @@ int main(int argc, char **argv) {
>      check(Conf.addSaveTemps(OutputFilename + "."),
>            "Config::addSaveTemps failed");
> 
> -  LTO Lto(std::move(Conf));
> +  ThinBackend Backend;
> +  if (ThinLTODistributedIndexes)
> +    Backend = createWriteIndexesThinBackend("", "", true, "");  else
> +    Backend = createInProcessThinBackend(Threads);
> +  LTO Lto(std::move(Conf), std::move(Backend));
> 
>    bool HasErrors = false;
>    for (std::string F : InputFilenames) {
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list