[lldb-dev] [LLVMdev] [cfe-dev] [RFC] Raising LLVM minimum required MSVC version to 2013 for trunk

Aaron Ballman aaron at aaronballman.com
Tue Sep 30 05:33:26 PDT 2014

On Tue, Sep 30, 2014 at 4:57 AM, Kristof Beyls <kristof.beyls at arm.com> wrote:
>> >
>> > This is a considerably more interesting case (at least to me) than
>> > hypothetical benefits -- if we retain MSVC 2012 support, we will also
>> > require /bigobj support, have slower compile times for ASTMatcher
>> > projects, and slower benchmarks for clang-tidy. This points to
>> > concrete benefits to expediting switching away from MSVC 2012, which
>> > is why I am pinging this thread again.
>> I guess I'm a little surprised that /bigobj is such a compile-time hit,
>> but haven't tried any benchmarking. Anyway, whatever works best for you.
>> --paulr
> I'm not 100% sure, but my understanding is that the huge number of template
> instantiations is the root cause of the compile-time hit. It's the same root
> cause that requires /bigobj to be needed, as each template instantiation
> seems to need its own section? Therefore, /bigobj in itself probably doesn't
> incur a compile-time hit, but rather the huge number of template instantiations
> produced.
> Aaron, did I understand correctly that moving to MSVC2013 would allow to
> adapt the code so that no longer a huge number of templates need to be instantiated?

That is correct -- MSVC 2013 supports the language feature needed for
that patch. That's not to say there aren't other solutions to the
problem which are portable across more compilers.


More information about the lldb-dev mailing list