pcc added a comment.

You can't emit the type tests by default with `-flto=thin` because not all 
programs adhere to the conditions described in `LTOVisibility.rst` and we can't 
silently break those programs; it is something that they will need to 
explicitly opt in to. We should be able to emit the `!type` annotations by 
default, just not the type tests.



================
Comment at: lib/CodeGen/BackendUtil.cpp:831
+          *OS, CodeGenOpts.EmitLLVMUseLists, EmitLTOSummary,
+          /*EmitModuleHash=*/false));
     }
----------------
Why add this argument here (and below)?


================
Comment at: lib/Driver/ToolChains/Clang.cpp:5112
+  bool EnableSplitLTOUnit = Args.hasFlag(
+      options::OPT_fsplit_lto_unit, options::OPT_fno_split_lto_unit, false);
+  if (EnableSplitLTOUnit || WholeProgramVTables || Sanitize.needsLTO()) {
----------------
Should this default to `WholeProgramVTables || Sanitize.needsLTO()` and emit an 
error if the user passes the (for now) unsupported combinations 
`-fno-split-lto-unit -fwhole-program-vtables` or `-fno-split-lto-unit 
-fsanitize=cfi`?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D53891/new/

https://reviews.llvm.org/D53891



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

Reply via email to