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

Bob Haarman via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 15 18:35:50 PDT 2019


Author: inglorion
Date: Mon Jul 15 18:35:49 2019
New Revision: 366165

URL: http://llvm.org/viewvc/llvm-project?rev=366165&view=rev
Log:
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

Added:
    cfe/trunk/test/Driver/cl-thinlto-backend.c
Modified:
    cfe/trunk/include/clang/Driver/Options.td

Modified: cfe/trunk/include/clang/Driver/Options.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=366165&r1=366164&r2=366165&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Options.td (original)
+++ cfe/trunk/include/clang/Driver/Options.td Mon Jul 15 18:35:49 2019
@@ -1270,7 +1270,7 @@ def flto_jobs_EQ : Joined<["-"], "flto-j
            "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]>;

Added: cfe/trunk/test/Driver/cl-thinlto-backend.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-thinlto-backend.c?rev=366165&view=auto
==============================================================================
--- cfe/trunk/test/Driver/cl-thinlto-backend.c (added)
+++ cfe/trunk/test/Driver/cl-thinlto-backend.c Mon Jul 15 18:35:49 2019
@@ -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"




More information about the cfe-commits mailing list