[llvm-dev] Removing LLVM_ALWAYS_INLINE from ADT classes

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 14 13:52:13 PST 2019

On Fri, Jan 11, 2019 at 11:18 AM Davide Italiano via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> After yet another round of discussions, the plan is that of trying not
> to slap another attribute on the members, instead going for making
> OPTIMIZED_TLBGEN the default and removing always_inline.
> I'll do some testing locally (for the Ninja and the Xcode build
> generator). Pawel volunteered to take a look at the Visual Studio
> situation.
> I assume this is going to be the final plan we'll deploy unless
> somebody comes with any fundamental objections or there are technical
> hurdles down the road.

So, personally I feel strongly that LLVM_OPTIMIZED_TABLEGEN should be off
by default, since the it splits up the ninja build graph. We've also run
into issues with it with VS: https://reviews.llvm.org/D54153  Shelling out
to `cmake --build` as part of a build action doesn't seem to work very well
for many generators.

What actually blocks us from removing these always_inline attributes? When
I read this thread, I didn't get the sense that debug build tablegen
performance was actually important to anyone, but maybe I skimmed too much.

Maybe I am a luddite because I just build Release+Asserts with debug info
enabled and then sprinkle `#pragma clang optimize off` around when I need
to debug a particular source file. This keeps build & test fast enough
except in the corner cases where a debugger is required.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190114/03ab4612/attachment.html>

More information about the llvm-dev mailing list