similar to: [RFC] lld: mostly-concurrent symbol resolution

Displaying 20 results from an estimated 70000 matches similar to: "[RFC] lld: mostly-concurrent symbol resolution"

2019 Apr 23
2
[RFC] lld: mostly-concurrent symbol resolution
On Tue, Apr 23, 2019 at 3:53 AM David Blaikie <dblaikie at gmail.com> wrote: > Sounds pretty good to me. An interesting case that occurs to me is > situations where there are many libraries specified, but only few are > used. In the current scheme, the scalability of the resolution > algorithm isn't dependent on the total number of libraries, is it? (It > stops once all
2016 Apr 27
4
RFC: LLD symbol table redesign
Hi all, This proposes a redesign of LLD’s symbol table in order to improve memory locality by minimizing indirection when resolving relocations. The key idea is that we perform symbol resolution by overwriting SymbolBodies, rather than by updating pointers. This is based on some ideas mentioned by Rafael on IRC. Conceptually, we split Symbol into a non-polymorphic part and a polymorphic part (a
2019 Jun 17
3
lld symbol choice for symbol present in both a shared and a static library, with and without LTO
> -----Original Message----- > From: Peter Smith <peter.smith at linaro.org> > Sent: Monday, June 17, 2019 3:33 AM > To: Eli Friedman <efriedma at qualcomm.com> > Cc: llvm-dev <llvm-dev at lists.llvm.org> > Subject: [EXT] Re: [llvm-dev] lld symbol choice for symbol present in both a > shared and a static library, with and without LTO > > On Fri, 14 Jun
2014 Apr 02
5
[LLVMdev] [lld] adding demangler for symbol resolution
On 4/2/2014 12:23 PM, Nick Kledzik wrote: > On Apr 1, 2014, at 9:19 PM, Shankar Easwaran wrote: > >> Hi Nick, Bigcheese, >> >> When lld is used to link C++ code, it would be required to demangle symbol names by default/user driven option. >> >> The Gnu linker has the following options :- >> >> --demangle=[style] >> --no-demangle >>
2017 Mar 01
2
[lld] We call SymbolBody::getVA redundantly a lot...
On Tue, Feb 28, 2017 at 11:39 PM, Rui Ueyama <ruiu at google.com> wrote: > I also did a quick profiling a few months ago and noticed just like you > that scanRelocations consumes a fairly large percentage of overall > execution time. That caught my attention because at the time I was looking > for a place that I can parallelize. > > scanRelocations is not parallelizable
2019 Jun 21
2
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
Thanks for the info Teresa, Regards M Suresh From: Teresa Johnson <tejohnson at google.com> Sent: Thursday, June 20, 2019 7:15 PM To: Mani, Suresh <Suresh.Mani at amd.com> Cc: Rui Ueyama <ruiu at google.com>; llvm-dev <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Expected behavior of lld during LTO for global symbols (Attr Internal/Common) [CAUTION: External
2019 Jun 20
2
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
Hi Teresa, Can you please let me know if there is any update on this issue. Thanks M Suresh From: Teresa Johnson <tejohnson at google.com> Sent: Tuesday, June 11, 2019 7:23 PM To: Rui Ueyama <ruiu at google.com> Cc: Mani, Suresh <Suresh.Mani at amd.com>; llvm-dev <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Expected behavior of lld during LTO for global symbols
2020 May 18
2
Understanding LLD's SymbolTable's use of CachedHashStringRef
I was looking at the SymbolTable code in LLD COFF and ELF recently, and I’m confused by the use of CachedHashStringRef. From what I understand, a CachedHashStringRef combines a StringRef with a computed hash. There’s no caching going on in the CachedHashStringRef itself; that is, if you construct CachedHashStringRef("foo"), and then construct a second
2019 Jun 24
4
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
The direct cause of this issue is that, previously lld converted common symbols to defined symbols before passing input files to LTO, and after r360841 they are passed as common symbols to LTO. Making lld to work as before is easy, as we can convert common symbols to defined symbols as before. Here is a patch to do that, and I confirmed that that restores the original behavior for the reported
2017 Mar 01
2
[lld] We call SymbolBody::getVA redundantly a lot...
On Tue, Feb 28, 2017 at 12:10 PM, Rui Ueyama <ruiu at google.com> wrote: > I don't think getVA is particularly expensive, and if it is not expensive > I wouldn't cache its result. Did you experiment to cache getVA results? I > think you can do that fairly easily by adding a std::atomic_uint64_t to > SymbolBody and use it as a cache for getVA. > You're right,
2015 Mar 15
2
[LLVMdev] On LLD performance
On Sat, Mar 14, 2015 at 2:52 AM, Nick Kledzik <kledzik at apple.com> wrote: > Rui, > > Thanks for this write up and the work you are doing to improve performance. > A couple of thoughts: > > * In the old days, linking was I/O bound so the linker run tended to be the > same speed as cat’ing all the input files together. Now that spinning disks > are less common, I/O
2017 Jul 01
2
[LLD] Adding WebAssembly support to lld
Hi Sam, First, I want to know the symbol resolution semantics. I can imagine that that is set in stone yet, but just that you guys are still discussing what would be the best semantics or file format for the linkable wasm object file. I think by knowing more about the format and semantics, we can give you guys valuable feedback, as we've been actively working on the linker for a few years
2015 Mar 11
9
[LLVMdev] On LLD performance
I spent a week to optimize LLD performance and just wanted to share things what I found. Also if there's anyone who have a good idea on how to make it faster, I'd like to hear. My focus is mainly on Windows, but my optimizations are generally platform neutral. I aim both single-thread and multi-thread performance. r231434 <http://reviews.llvm.org/rL231454> is a change that has the
2014 Apr 02
5
[LLVMdev] [lld] adding demangler for symbol resolution
Hi Nick, Bigcheese, When lld is used to link C++ code, it would be required to demangle symbol names by default/user driven option. The Gnu linker has the following options :- --demangle=[style] --no-demangle I found that clang/llvm-symbolizer use __cxx_demangle function. I would think that lld also need to call the same function, and I think the way we want to demangle is to have the
2013 Jan 03
2
[LLVMdev] [lld] Linker script findings.
On Wed, Jan 2, 2013 at 2:53 PM, Nick Kledzik <kledzik at apple.com> wrote: > The SECTION and MEMORY seem doable in lld as part of the ELF > Writer. MEMORY and most aspects of SECTIONS are effectively syntax sugar and the rest of LLD doesn't need to even be aware of it; the ldscript language processor will desugar it. The same is true of many other linker script constructs that I
2019 Jun 11
3
Expected behavior of lld during LTO for global symbols (Attr Internal/Common)
Looks like this is indeed related to r360841. In C, there are distinctions between declarations, definitions and tentative definitions. Global variables declared with "extern" are declarations. Global variables that don't have "extern" and have initializers are definitions. If global variables have neither "extern" nor initializers, they are called tentative
2017 Dec 20
2
Dropping COMDAT with LTO
I've been digging into COMDAT with regular LTO, specifically in the context of the LLVM gold plugin. The GCC WHOPR documentation specifies that the linker will resolve all COMDAT groups to the IR-provided definitions, if available. Additionally it specifies that "When the WPA phase produces the definition of the COMDAT symbol in a new object file, that definition should not be in a COMDAT
2017 Sep 08
8
[RFC] Open sourcing and contributing TAPI back to the LLVM community
Hi @ll, Over the past years I have been looking into how to reduce the size of the SDK that ships with Xcode and how to improve build times for the overall OS inside Apple. The result is a tool called TAPI, which is used at Apple for all things related to text-based dynamic library files (.tbd). What are text-based dynamic library files? Text-based dynamic library files (TBDs) are a textual
2019 Jun 14
4
lld symbol choice for symbol present in both a shared and a static library, with and without LTO
I filed https://bugs.llvm.org/show_bug.cgi?id=42273 last night, about an inconsistency between LTO and non-LTO workflows. The basic scenario is that we have an object file which calls a function "foo", a static library that provides an implementation of "foo", and a shared library that also provides an implementation of "foo". Currently, whether lld chooses the
2016 Mar 07
2
Linking the FreeBSD base system with lld -- status update
As I've mentioned before[1] I've been regularly attempting to build the FreeBSD/amd64 base system with lld, in order to keep track of progress and identify issues on an ongoing basis. As of last November a 'buildword' (i.e., userland build) ran to completion, with several workarounds applied to the FreeBSD base system. However, the result did not actually work. I'm pleased to