wip patch: Create SymbolBody for all symbols

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 12:27:48 PST 2016


By the way, I was wondering if the locality (or the lack of thereof) of
SymbolBody and Symbol would matter, so I tried to embed Symbol to
SymbolBody, so that they are close in memory (probably on the same cache
line). In many cases there is one-to-one correspondence between SymbolBody
and Symbol, so backref pointer is rarely updated. That change however made
the program slower. I don't understand why, though.

On Thu, Mar 10, 2016 at 12:24 PM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> > I expect that after this change, we will be removing many isLocal()
> function
> > calls because in many places we will be able to handle local and global
> > symbols in the same way (because they will be represented in the same
> data
> > structure.) Does this affect the performance?
>
> Maybe. I would expect it to still be impact by the fact that we always
> look at member of a SymbolBody, instead of just comparing the value of
> the pointer.
>
> I will try to benchmark the followup patches.
>
> Cheers,
> Rafael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160310/832c306b/attachment.html>


More information about the llvm-commits mailing list