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