[llvm-dev] Removing LLVM_ALWAYS_INLINE from ADT classes

Paweł Bylica via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 7 09:03:31 PST 2019


I believe the issues about Debug config and Visual Studio can be solved by
using generator expressions

$<$<CONFIG:Debug>:-O2>

or alternatively CMAKE_CXX_CLAGS_DEBUG.

At first we don't have to modify the assertions build option so if Debug
config builds with assertions tablegen will be build with as well.

Also we can start with keeping LLVM_OPTIMIZE_TABLEGEN off by default.

If that sounds good, I can come with a prototype later.

// P.

On Mon, Jan 7, 2019 at 5:54 PM Mehdi AMINI via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
>
> On Mon, Jan 7, 2019 at 8:39 AM <paul.robinson at sony.com> wrote:
>
>>
>>
>> > -----Original Message-----
>> > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of
>> Alex
>> > Bradbury via llvm-dev
>> > Sent: Monday, January 07, 2019 11:33 AM
>> > To: Mehdi AMINI
>> > Cc: LLVM Dev
>> > Subject: Re: [llvm-dev] Removing LLVM_ALWAYS_INLINE from ADT classes
>> >
>> > On Sun, 6 Jan 2019 at 00:42, Mehdi AMINI via llvm-dev
>> > <llvm-dev at lists.llvm.org> wrote:
>> > >
>> > >
>> > >
>> > > On Fri, Jan 4, 2019 at 3:52 PM Paweł Bylica via llvm-dev <llvm-
>> > dev at lists.llvm.org> wrote:
>> > >>
>> > >> On Sat, Jan 5, 2019 at 12:38 AM Duncan P. N. Exon Smith via llvm-dev
>> > <llvm-dev at lists.llvm.org> wrote:
>> > >>>
>> > >>> This makes sense to me.
>> > >>>
>> > >>> One concern is that this in itself will slow down the build, since
>> > tablegen will get even slower.  Ideally, there would be some (perhaps
>> > default?) configuration where we build the tablegen binaries with
>> > optimizations on and then use them in the build, as if we were cross-
>> > compiling.
>> > >>
>> > >>
>> > >> Maybe something simple like -DLLVM_OPTIMIZE_TABLEGEN=ON (enabled by
>> > default for Debug builds). You would need to set it to off only if you
>> > want to debug tablegen.
>> > >
>> > >
>> > > I proposed this a while back, but it think there were some problems
>> with
>> > it, I don't remember what exactly but maybe related to bootstrapping /
>> 2-
>> > stages builds?
>> > >
>> > > + Chris, maybe he remembers something?
>> >
>> > LLVM_OPTIMIZED_TABLEGEN=ON is a handy way of speeding up build times,
>> > but it really shouldn't be recommended for anyone who is modifying .td
>> > files. You run the risk of making .td modifications that trigger
>> > asserts for those not using LLVM_OPTIMIZED_TABLEGEN.
>>
>> Can we make LLVM_OPTIMIZED_TABLEGEN=ON build it as Release+Asserts?
>
>
> There is (use to be) some very expensive assertions in llvm-tblgen.
>
>> Mehdi
>
>>
>> --paulr
>>
>> >
>> > Best,
>> >
>> > Alex
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > llvm-dev at lists.llvm.org
>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190107/787f21a8/attachment.html>


More information about the llvm-dev mailing list