mehdi_amini added inline comments.
================ Comment at: clang/test/CodeGenCXX/type-metadata-thinlto.cpp:2 +// RUN: %clang_cc1 -flto=thin -triple x86_64-unknown-linux -fvisibility hidden -emit-llvm-bc -o %t %s +// RUN: llvm-modextract -o - -n 1 %t | llvm-dis | FileCheck %s + ---------------- pcc wrote: > mehdi_amini wrote: > > tejohnson wrote: > > > Is it the case that now we will always split the module with this change? > > > Should that only be done under CFI options? > > Devirtualization may happen whenever you have a hidden virtual table IIUC, > > independently of CFI. > To be more precise: we normally add type metadata in LTO mode when the class > has hidden visibility. See: http://clang.llvm.org/docs/LTOVisibility.html > > That doesn't necessarily imply devirtualization, which is controlled by the > flag `-fwhole-program-vtables`. So with hidden visibility but without CFI or -fwhole-program-vtables, do we split the module? What's the purpose? https://reviews.llvm.org/D28843 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits