| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
`qsort` as a file-scope local function name was confusing.
llvm-svn: 251414
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a patch to improve StringTableBuilder's performance. That class'
finalize function is very hot particularly in LLD because the function
does tail-merge strings in string tables or SHF_MERGE sections.
Generic std::sort-style sorter is not efficient for sorting strings.
The function implemented in this patch seems to be more efficient.
Here's a benchmark of LLD to link Clang with or without this patch.
The numbers are medians of 50 runs.
-O0
real 0m0.455s
real 0m0.430s (5.5% faster)
-O3
real 0m0.487s
real 0m0.452s (7.2% faster)
Since that is a benchmark of the whole linker, the speedup of
StringTableBuilder itself is much more than that.
http://reviews.llvm.org/D14053
llvm-svn: 251337
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this mode it just tries to tail merge the strings without imposing any other
format constrains. It will not, for example, add a null byte between them.
Also add support for keeping a tentative size and offset if we decide to
not optimize after all.
This will be used shortly in lld for merging SHF_STRINGS sections.
llvm-svn: 251153
|
|
|
|
| |
llvm-svn: 251143
|
|
|
|
|
|
| |
This was only use in the extremely uncommon case of @@@ symbols on ELF.
llvm-svn: 251039
|
|
|
|
| |
llvm-svn: 251030
|
|
|
|
| |
llvm-svn: 251024
|
|
|
|
| |
llvm-svn: 251023
|
|
|
|
|
|
|
|
| |
This is a follow-up to r207670 (ELF) and r218636 (COFF).
Differential Revision: http://reviews.llvm.org/D5622
llvm-svn: 219126
|
|
|
|
|
|
|
|
| |
This is a follow-up from r207670 which did the same for ELF.
Differential Revision: http://reviews.llvm.org/D5530
llvm-svn: 218636
|
|
|
|
| |
llvm-svn: 218409
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 218380
|
|
Now that we have a lib/MC/MCAnalysis, the dependency was there just because
of two helper classes. Move the two over to MC.
This will allow IRObjectFile to parse inline assembly.
llvm-svn: 212248
|