rsmith added inline comments. ================ Comment at: clang/lib/CodeGen/CGCXX.cpp:170 @@ -170,3 +169,3 @@ // If we have a weak, non-discardable alias (weak, weak_odr), like an extern // template instantiation or a dllexported class, avoid forming it on COFF. ---------------- We can now only reach this code for the case where `TargetLinkage != llvm::GlobalValue::AvailableExternallyLinkage`. Substituting `true` for that expression here gives
if (llvm::GlobalValue::isDiscardableIfUnused(Linkage) && (true || !TargetDecl.getDecl()->hasAttr<AlwaysInlineAttr>())) { which simplifies to if (llvm::GlobalValue::isDiscardableIfUnused(Linkage)) { not if (llvm::GlobalValue::isDiscardableIfUnused(Linkage) && !TargetDecl.getDecl()->hasAttr<AlwaysInlineAttr>()) { We used to enter this case for a function that is discardable if unused, not available externally, and always inline (that is, a normal inline+always_inline function). With this change, we don't do so any more. https://reviews.llvm.org/D24682 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits