On Tue, Feb 9, 2016 at 12:32 PM, Aaron Ballman <aa...@aaronballman.com> wrote:
> On Tue, Feb 9, 2016 at 2:53 PM, Reid Kleckner via cfe-commits > <cfe-commits@lists.llvm.org> wrote: > > Author: rnk > > Date: Tue Feb 9 13:53:30 2016 > > New Revision: 260267 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=260267&view=rev > > Log: > > Pass /bigobj when building lib/ASTMatchers/Dynamic/Registry.cpp > > > > This is the third time it has crossed the 2^16 section limit. We've > > already spent time optimizing this file to reduce template > > instantiations, and it's not clear that there is anymore low hanging > > fruit. > > Bummer. Do we have any mechanisms in place that will bark loudly at us > when we accidentally introduce a large quantity of symbols from this > file now? That has also happened a few times, and /bigobj warnings > were the primary way we were notified (since it's difficult to tell > from file size alone). > No, there isn't any mechanism. I think what we really should be worrying about is overall code size, and that this particular section count limit is arbitrary. If we tackled the code size problem directly, we'd use a tool to highlight code that has a high source-line-to-code-byte ratio. I know Chromium has done this in the past to identify overly inlined functions and things that shouldn't be templates.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits