Author: Sylvestre Ledru
Date: 2021-04-05T11:54:17+02:00
New Revision: 1628486548420f85b3467026d54663d1516404f5

URL: 
https://github.com/llvm/llvm-project/commit/1628486548420f85b3467026d54663d1516404f5
DIFF: 
https://github.com/llvm/llvm-project/commit/1628486548420f85b3467026d54663d1516404f5.diff

LOG: ignore -flto= options recognized by GCC

as requested in https://bugs.llvm.org/show_bug.cgi?id=49553, submitting the 
proposed changes to just ignore the -flto= options which are recognized by GCC 
("auto" and "jobserver").

GCC supports -flto=<auto|jobserver|<N> to select the parallelity for LTO 
builds. LLVM also has -flto-jobs=<N>, which only seems to have a meaning when 
used with -flto=thin?

The attached patch just ignores the values "auto" and "jobserver". that doesn't 
change anything in functionality.  Another option would be to map these values 
to either "thin" or "full", maybe in presence of the -ffat-lto-objects option?

-flto=<n> could also be translated to -flto-jobs=<N>.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D99501

Added: 
    

Modified: 
    clang/include/clang/Driver/Options.td

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Driver/Options.td 
b/clang/include/clang/Driver/Options.td
index a6583acd9ecb..64d658b2bfd9 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -4155,6 +4155,8 @@ defm reorder_blocks : BooleanFFlag<"reorder-blocks">, 
Group<clang_ignored_gcc_op
 defm branch_count_reg : BooleanFFlag<"branch-count-reg">, 
Group<clang_ignored_gcc_optimization_f_Group>;
 defm default_inline : BooleanFFlag<"default-inline">, 
Group<clang_ignored_gcc_optimization_f_Group>;
 defm fat_lto_objects : BooleanFFlag<"fat-lto-objects">, 
Group<clang_ignored_gcc_optimization_f_Group>;
+def : Flag<["-"], "flto=auto">, Group<clang_ignored_gcc_optimization_f_Group>;
+def : Flag<["-"], "flto=jobserver">, 
Group<clang_ignored_gcc_optimization_f_Group>;
 defm float_store : BooleanFFlag<"float-store">, 
Group<clang_ignored_gcc_optimization_f_Group>;
 defm friend_injection : BooleanFFlag<"friend-injection">, 
Group<clang_ignored_f_Group>;
 defm function_attribute_list : BooleanFFlag<"function-attribute-list">, 
Group<clang_ignored_f_Group>;


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to