<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 4, 2019 at 3:15 PM Davide Italiano via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi,<br>
I would like to propose, based on a previous discussion on llvm-dev,<br>
the following change.<br>
<a href="https://reviews.llvm.org/D56337" rel="noreferrer" target="_blank">https://reviews.llvm.org/D56337</a><br>
<br>
The main motivation for annotating member functions of ADT clases with<br>
LLVM_ALWAYS_INLINE  was that of speeding up `check-llvm` at `-O0`.<br>
Turns out this significantly degrades the debuggability of fundamental<br>
classes in llvm itself, e.g. StringRef or SmallVector.<br></blockquote><div><br></div><div>It seems that the issue is not a problem with the inlining these functions but rather that they aren't emitted when inlined and so can't be called from the debugger.</div><div><br></div><div>An alternative that preserves the inlining for the performance aspect *and* still emit them in debug build so that they are available in debug builds would be another macro that would expand to something like __attribute__((used)).</div><div><br></div><div>-- </div><div>Mehdi</div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
After discussing we agreed that it's reasonable to drop<br>
LLVM_ALWYAS_INLINE from ADT classes  member functions and add a note<br>
in the developer's manual.<br>
<br>
If you have any feedbacks or concerns, please speak up.<br>
If nothing major arises, I'm going to commit this patch in a week (or such).<br>
<br>
Thanks for your time,<br>
<br>
-- <br>
Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>