Displaying 20 results from an estimated 40000 matches similar to: "[LLVMdev] On LLD performance"
2015 Mar 13
3
[LLVMdev] On LLD performance
Rafael,
This is very good information and extremely useful.
On 3/12/2015 11:49 AM, Rafael Espíndola wrote:
> I tried benchmarking it on linux by linking clang Release+asserts (but
> lld itself with no asserts). The first things I noticed were:
>
> missing options:
>
> warning: ignoring unknown argument: --no-add-needed
> warning: ignoring unknown argument: -O3
> warning:
2015 Mar 13
6
[LLVMdev] On LLD performance
> I will do a run with --merge-strings. This should probably the the
> default to match other ELF linkers.
Trying --merge-strings with today's trunk I got
* comment got 77 797 bytes smaller.
* rodata got 9 394 257 bytes smaller.
Comparing with gold, comment now has the same size and rodata is 55
021 bytes bigger.
Amusingly, merging strings seems to make lld a bit faster. With
2016 Nov 17
4
LLD: time to enable --threads by default
Here is the result of running 20 threads on 20 physical cores (40 virtual
cores).
19002.081139 task-clock (msec) # 2.147 CPUs utilized
( +- 2.88% )
23,006 context-switches # 0.001 M/sec
( +- 2.24% )
1,491 cpu-migrations # 0.078 K/sec
( +- 22.50% )
2,607,076 page-faults # 0.137 M/sec
2016 Nov 17
2
LLD: time to enable --threads by default
Did you see this
http://llvm.org/viewvc/llvm-project?view=revision&revision=287140 ?
Interpreting these numbers may be tricky because of hyper threading, though.
On Wed, Nov 16, 2016 at 5:15 PM, Joerg Sonnenberger via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> On Wed, Nov 16, 2016 at 12:44:46PM -0800, Rui Ueyama via llvm-dev wrote:
> > I'm thinking to enable --threads
2020 Apr 14
4
7-8% compile time slowdowns in LLVM 10
Hey list,
TL;DR - LLVM 10 is around 7-8% slower than LLVM 9 when compiling the same
inputs.
So here at Unity our Burst HPC# compiler uses LLVM to provide our users
with some very optimal codegen. LLVM is used in two ways:
1. In the Unity editor we JIT compile user code.
2. We also have an AOT mode for when our users are building a full game.
Particularly for 1., compile time really matters for
2019 Oct 14
2
[LLD] Placing more sections in same segment as data?
I've noticed that lld keeps the data section more isolated than the gold or bfd linkers. For example, readelf -l applied to the "same" executable linked with those three linkers reveals the following under "Section to Segment mapping":
lld:
05 .data .got.plt .bss
gold:
03 .eh_frame .init_array .fini_array .preinit_array .dynamic .got .got.plt .data .bss
bfd:
05
2020 Mar 27
2
[lld] RFC: Allow custom sections to be under GNU_RELRO
Peter,
Thanks for the great feedback!
> The first is the use of a custom suffix, all other linker conventions,
that I know of, use prefixes as these are much easier and faster to match
against names.
> This can be important in large programs compiled -ffunction-sections as
there can be millions of sections to match.
I understand the reason of having these conventions in linkers. On the
2017 Nov 23
4
[RFC] Making .eh_frame more linker-friendly
I performed tests basing on first diff of https://reviews.llvm.org/D40352.
(Creates .eh_frame for each .text.*, sets SHF_LINK_ORDER and .sh_link of created
.eh_frame section to point to corresponding .text.)
With use of GNU ld (GNU Binutils) 2.29.51.20171006 it reports errors when linking sample apps:
~/LLVM/Release/bin/clang++ test.cpp -ffunction-sections -o test.o
/usr/local/bin/ld: .eh_frame
2017 Nov 29
2
[RFC] Making .eh_frame more linker-friendly
>> With GNU gold (GNU Binutils 2.29.51.20171006) 1.14 have an assert:
>> ~/LLVM/Release/bin/clang++ test.cpp -ffunction-sections -o test.o
>> /usr/local/bin/ld: internal error in layout_eh_frame_section, at
>> .././../gold/object.cc:1309
>> It is that place:
>> https://github.com/gittup/binutils/blob/gittup/gold/object.cc#L1372
>> Did not investigate it,
2017 Nov 21
2
[RFC] Making .eh_frame more linker-friendly
>Thank you for taking a look. I think that the answer depends on how much slower GNU linkers are with separate .eh_frame sections. If it is not too slow, it may make >sense to generate split .eh_frame sections unconditionally. Otherwise, we might want to add a new option so that clang doesn't produce split .eh_frame sections by >default.
I'll start investigating the
2020 Mar 26
2
[lld] RFC: Allow custom sections to be under GNU_RELRO
Hey,
We would like to propose an idea that would help security harden
applications that define custom sections.
Motivation and Background
In Chromium we have a garbage collector that implements some RTTI machinery
in the form of a table. This table is used by the collector to trace and
finalize garbage collected objects. We're thinking of using
__attribute__((section(...))) so that the table
2017 Nov 20
3
[RFC] Making .eh_frame more linker-friendly
>Keeping .eh_frame separated should still simplifies the linker because
>until the last step of building .eh_frame and .eh_frame_hdr, we don't
>really need to parse .eh_frame sections. So, if we have separate .eh_frame
>sections on -ffunction-sections, all we have to do is (1) garbage-collect
>sections and (2) construct .eh_frame and .eh_frame_hdr sections from live
2018 Feb 06
3
[RFC] Add mergeable and eh_frame section pieces to map files and --print-gc/icf-sections reports
Hi,
We’d like to propose an extension to both the map file and the
print-gc/icf-sections output. This extension would be to report the pieces
of .eh_frame and SHF_MERGE sections in these files somehow. Since all (or
at least the majority) of the contents of these sections in the output come
from inputs, it would be beneficial in trying to associate the output
contents with where they came from,
2018 Jun 05
2
lld mishandling R_X86_64_PC32 relocations
Hi,
I've tracked down what I believe is a bug in lld's relocation processing for R_X86_64_PC32 REL relocations.
I'm producing the object file in a slightly unusual way: I'm using objcopy on a relocatable i386 ELF object file to convert it to x86_64 which transforms a R_386_PC32 into a R_X86_64_PC32.
Steps to reproduce:
1. Assemble the attached bug.asm using nasm and note the
2017 Oct 26
3
[RFC] Making .eh_frame more linker-friendly
Hi,
Many linkers including lld have a feature to eliminate unused sections from
output to make output smaller (which is essentially a mark-sweep gc where
sections are vertices and relocations are edges). lld and GNU gold have yet
another feature, ICF, to merge functions by contents to save more space.
When we remove or merge a function, we want to eliminate its exception
handling information as
2017 Sep 14
4
Do I need to modify the AddrLoc of LLD for ARC target?
Hello Leslie,
I think we are going to need to know a bit more about the ELF ABI for
what looks like the ArcCompact before we can help you.
LLD's calculation of P (the place to be relocated) is as it is in the
generic ELF specification. The Rel.Offset corresponds to the ELF
r_offset field. This is covered by: "For a relocatable file, the value
is the byte offset from the beginning of the
2017 Oct 26
4
[RFC] Making .eh_frame more linker-friendly
No I haven't. Thank you for the pointer.
Looks like the problem of the inverted edges was discussed there. But I
guess my bigger question is this: why do we still create one big .eh_frame
even if -ffunction-sections is given?
When the option is given, Clang creates .text, .rela.text and
.gcc_exception_table sections for each function, but it still creates a
monolithic .eh_frame that covers
2017 Sep 19
1
Do I need to modify the AddrLoc of LLD for ARC target?
Hello Leslie,
The errors coming from the gnu assembler are due to the file being
assembled in Arm state, to get rid of the errors you'll either need to
put a .thumb directive in the file, or pass -mthumb to the assembler
via arm-linux-gnu-gcc -Wa,-mthumb (I think).
I'm not able to explain what you are seeing in your print out as it
doesn't quite match the map file. Looking at your
2018 Feb 06
0
[RFC] Add mergeable and eh_frame section pieces to map files and --print-gc/icf-sections reports
It seems that showing eh_frame section pieces in the map file is useful,
but I wonder what would be a concrete use case of the feature. Do you mind
if you ask you to describe your plan if you have a use case in mind?
On Tue, Feb 6, 2018 at 4:27 AM, James Henderson <
jh7370.2008 at my.bristol.ac.uk> wrote:
> Hi,
>
>
>
> We’d like to propose an extension to both the map file
2017 Sep 18
1
Do I need to modify the AddrLoc of LLD for ARC target?
Hello Leslie,
I don't know quite what to say as I don't know precisely what your
question is? If I am not being precise enough please can you put some
explicit questions in? From what I can see in the output, here are
some comments.
>From your arc mapfiles it looks like that in the output both linker's
have given the .text output section the correct base address given the