ychen updated this revision to Diff 226347. ychen added a comment. Address reviewer's comments.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69406/new/ https://reviews.llvm.org/D69406 Files: clang/include/clang/Driver/CC1Options.td clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/CodeGen/thin_link_bitcode.c Index: clang/test/CodeGen/thin_link_bitcode.c =================================================================== --- clang/test/CodeGen/thin_link_bitcode.c +++ clang/test/CodeGen/thin_link_bitcode.c @@ -1,5 +1,7 @@ // REQUIRES: x86-registered-target // +// RUN: %clang -flto=thin -fthin-link-bitcode=%t.bc -target x86_64-unknown-linux-gnu -### %s 2>&1 | FileCheck %s --check-prefix=LINKBC +// // RUN: %clang_cc1 -o %t -flto=thin -fthin-link-bitcode=%t.nodebug -triple x86_64-unknown-linux-gnu -emit-llvm-bc -debug-info-kind=limited %s // RUN: llvm-bcanalyzer -dump %t | FileCheck %s // RUN: llvm-bcanalyzer -dump %t.nodebug | FileCheck %s --check-prefix=NO_DEBUG @@ -10,5 +12,7 @@ return 0; } +// LINKBC: -fthin-link-bitcode= + // CHECK: COMPILE_UNIT // NO_DEBUG-NOT: COMPILE_UNIT Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -3647,6 +3647,9 @@ Args.AddLastArg(CmdArgs, options::OPT_fthinlto_index_EQ); } + if (Args.getLastArg(options::OPT_fthin_link_bitcode_EQ)) + Args.AddLastArg(CmdArgs, options::OPT_fthin_link_bitcode_EQ); + if (Args.getLastArg(options::OPT_save_temps_EQ)) Args.AddLastArg(CmdArgs, options::OPT_save_temps_EQ); Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -1309,6 +1309,9 @@ def fthinlto_index_EQ : Joined<["-"], "fthinlto-index=">, Flags<[CoreOption, CC1Option]>, Group<f_Group>, HelpText<"Perform ThinLTO importing using provided function summary index">; +def fthin_link_bitcode_EQ : Joined<["-"], "fthin-link-bitcode=">, + Flags<[CoreOption, CC1Option]>, Group<f_Group>, + HelpText<"Write minimized bitcode to <file> for the ThinLTO thin link only">; def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">, Group<f_Group>, Flags<[DriverOption, CoreOption]>; def fmerge_all_constants : Flag<["-"], "fmerge-all-constants">, Group<f_Group>, Index: clang/include/clang/Driver/CC1Options.td =================================================================== --- clang/include/clang/Driver/CC1Options.td +++ clang/include/clang/Driver/CC1Options.td @@ -387,8 +387,6 @@ def flto_unit: Flag<["-"], "flto-unit">, HelpText<"Emit IR to support LTO unit features (CFI, whole program vtable opt)">; def fno_lto_unit: Flag<["-"], "fno-lto-unit">; -def fthin_link_bitcode_EQ : Joined<["-"], "fthin-link-bitcode=">, - HelpText<"Write minimized bitcode to <file> for the ThinLTO thin link only">; def femit_debug_entry_values : Flag<["-"], "femit-debug-entry-values">, HelpText<"Enables debug info about call site parameter's entry values">; def fdebug_pass_manager : Flag<["-"], "fdebug-pass-manager">,
Index: clang/test/CodeGen/thin_link_bitcode.c =================================================================== --- clang/test/CodeGen/thin_link_bitcode.c +++ clang/test/CodeGen/thin_link_bitcode.c @@ -1,5 +1,7 @@ // REQUIRES: x86-registered-target // +// RUN: %clang -flto=thin -fthin-link-bitcode=%t.bc -target x86_64-unknown-linux-gnu -### %s 2>&1 | FileCheck %s --check-prefix=LINKBC +// // RUN: %clang_cc1 -o %t -flto=thin -fthin-link-bitcode=%t.nodebug -triple x86_64-unknown-linux-gnu -emit-llvm-bc -debug-info-kind=limited %s // RUN: llvm-bcanalyzer -dump %t | FileCheck %s // RUN: llvm-bcanalyzer -dump %t.nodebug | FileCheck %s --check-prefix=NO_DEBUG @@ -10,5 +12,7 @@ return 0; } +// LINKBC: -fthin-link-bitcode= + // CHECK: COMPILE_UNIT // NO_DEBUG-NOT: COMPILE_UNIT Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -3647,6 +3647,9 @@ Args.AddLastArg(CmdArgs, options::OPT_fthinlto_index_EQ); } + if (Args.getLastArg(options::OPT_fthin_link_bitcode_EQ)) + Args.AddLastArg(CmdArgs, options::OPT_fthin_link_bitcode_EQ); + if (Args.getLastArg(options::OPT_save_temps_EQ)) Args.AddLastArg(CmdArgs, options::OPT_save_temps_EQ); Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -1309,6 +1309,9 @@ def fthinlto_index_EQ : Joined<["-"], "fthinlto-index=">, Flags<[CoreOption, CC1Option]>, Group<f_Group>, HelpText<"Perform ThinLTO importing using provided function summary index">; +def fthin_link_bitcode_EQ : Joined<["-"], "fthin-link-bitcode=">, + Flags<[CoreOption, CC1Option]>, Group<f_Group>, + HelpText<"Write minimized bitcode to <file> for the ThinLTO thin link only">; def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">, Group<f_Group>, Flags<[DriverOption, CoreOption]>; def fmerge_all_constants : Flag<["-"], "fmerge-all-constants">, Group<f_Group>, Index: clang/include/clang/Driver/CC1Options.td =================================================================== --- clang/include/clang/Driver/CC1Options.td +++ clang/include/clang/Driver/CC1Options.td @@ -387,8 +387,6 @@ def flto_unit: Flag<["-"], "flto-unit">, HelpText<"Emit IR to support LTO unit features (CFI, whole program vtable opt)">; def fno_lto_unit: Flag<["-"], "fno-lto-unit">; -def fthin_link_bitcode_EQ : Joined<["-"], "fthin-link-bitcode=">, - HelpText<"Write minimized bitcode to <file> for the ThinLTO thin link only">; def femit_debug_entry_values : Flag<["-"], "femit-debug-entry-values">, HelpText<"Enables debug info about call site parameter's entry values">; def fdebug_pass_manager : Flag<["-"], "fdebug-pass-manager">,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits