[llvm-dev] Removing LLVM_ALWAYS_INLINE from ADT classes

Davide Italiano via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 15 15:44:18 PST 2019

On Mon, Jan 14, 2019 at 1:52 PM Reid Kleckner <rnk at google.com> wrote:
> 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.

The only complain I heard was from somebody with a proprietary
backend, but I contacted them again and they said it wasn't a problem
for them anymore.
You're right that nobody had fundamental objections to just drop the attributes.


More information about the llvm-dev mailing list