reland "add -fthinlto-index= option to clang-cl"

Summary:
This is a reland of r366146, adding in the previously missing '--'
flag that prevents filenames from being interpreted as flags.

Original description:
This adds a -fthinlto-index= option to clang-cl, which allows it to
be used to drive ThinLTO backend passes. This allows clang-cl to be
used for distributed ThinLTO.

Tags: #clang
llvm-svn: 366165
This commit is contained in:
Bob Haarman 2019-07-16 01:35:49 +00:00
parent ca16d280f7
commit 492ce8cc8b
2 changed files with 10 additions and 1 deletions

View File

@ -1270,7 +1270,7 @@ def flto_jobs_EQ : Joined<["-"], "flto-jobs=">,
"of 0 means the number of threads will be derived from "
"the number of CPUs detected)">;
def fthinlto_index_EQ : Joined<["-"], "fthinlto-index=">,
Flags<[CC1Option]>, Group<f_Group>,
Flags<[CoreOption, CC1Option]>, Group<f_Group>,
HelpText<"Perform ThinLTO importing using provided function summary index">;
def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">,
Group<f_Group>, Flags<[DriverOption, CoreOption]>;

View File

@ -0,0 +1,9 @@
// RUN: %clang_cl -c -flto=thin -Fo%t.obj -- %s
// RUN: llvm-lto2 run -thinlto-distributed-indexes -o %t.exe %t.obj
// -fthinlto_index should be passed to cc1
// RUN: %clang_cl -### -c -fthinlto-index=%t.thinlto.bc -Fo%t1.obj \
// RUN: -- %t.obj 2>&1 | FileCheck %s
// CHECK: -fthinlto-index=
// CHECK: "-x" "ir"