[llvm-dev] Removing LLVM_ALWAYS_INLINE from ADT classes

Davide Italiano via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 4 15:48:24 PST 2019


On Fri, Jan 4, 2019 at 3:42 PM Chandler Carruth <chandlerc at gmail.com> wrote:
>
> One minor correction, this isn't about ADT.
>
> There are *numerous* places where we've tried to mitigate -O0 test runtime with these attributes that will end up cleaned up based on this direction, not just in ADT. =D
>

Sure, I'll do these next.
FWIW, I started from the ADT ones because they've been the one disturbing me.
There are other few instances, grouped in three files:
1) Chrono.h
2) SelectionDAGISel.cpp
3) User.h

Admittedly the only other one I hit was 3). I don't work on backends a
lot so maybe 2) is really annoying but I just never experienced it.

> On Fri, Jan 4, 2019 at 3:15 PM Davide Italiano via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi,
>> I would like to propose, based on a previous discussion on llvm-dev,
>> the following change.
>> https://reviews.llvm.org/D56337
>>
>> The main motivation for annotating member functions of ADT clases with
>> LLVM_ALWAYS_INLINE  was that of speeding up `check-llvm` at `-O0`.
>> Turns out this significantly degrades the debuggability of fundamental
>> classes in llvm itself, e.g. StringRef or SmallVector.
>>
>> After discussing we agreed that it's reasonable to drop
>> LLVM_ALWYAS_INLINE from ADT classes  member functions and add a note
>> in the developer's manual.
>>
>> If you have any feedbacks or concerns, please speak up.
>> If nothing major arises, I'm going to commit this patch in a week (or such).
>>
>> Thanks for your time,
>>
>> --
>> Davide
>>
>> "There are no solved problems; there are only problems that are more
>> or less solved" -- Henri Poincare
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



-- 
Davide

"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare


More information about the llvm-dev mailing list