[PATCH] D19528: [ELF] - Implemented -z combrelocs/nocombreloc.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Fri May 6 12:49:48 PDT 2016


What version is this based on? I can't get it to apply cleanly.

On 6 May 2016 at 15:43, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote:
> I will try running benchmarks on a few variations of this.
>
> On 6 May 2016 at 07:38, George Rimar <grimar at accesssoftek.com> wrote:
>> grimar added a comment.
>>
>> In http://reviews.llvm.org/D19528#422386, @rafael wrote:
>>
>>> Please do simplify the patch to first not set any new DT_ and sort only by offset. Lets benchmark just that first.
>>
>>
>> I did that (simplified version I used is here: http://reviews.llvm.org/D20013) and got no any perfomance boost after that at all
>> (or very minor what I believe is just a computing error):
>>
>> Middle from 5 runs is shown.
>> Without patch:
>>
>>   umb at ubuntu:~/umb/LLVM/self-hosting/bin$ LD_DEBUG=statistics ./clang
>>        46693:
>>        46693:   runtime linker statistics:
>>        46693:     total startup time in dynamic loader: 193739180 cycles
>>        46693:               time needed for relocation: 166734504 cycles (86.0%)
>>        46693:                    number of relocations: 27736
>>        46693:         number of relocations from cache: 2247
>>        46693:           number of relative relocations: 2020
>>        46693:              time needed to load objects: 24664951 cycles (12.7%)
>>   clang-3.9: error: no input files
>>        46693:
>>        46693:   runtime linker statistics:
>>        46693:              final number of relocations: 28487
>>        46693:   final number of relocations from cache: 2247
>>
>> With patch (no tag, sort by offset).
>>
>>   umb at ubuntu:~/umb/LLVM/selfhost-reduced/bin$ LD_DEBUG=statistics ./clang
>>        46666:
>>        46666:   runtime linker statistics:
>>        46666:     total startup time in dynamic loader: 188386979 cycles
>>        46666:               time needed for relocation: 161439636 cycles (85.6%)
>>        46666:                    number of relocations: 27736
>>        46666:         number of relocations from cache: 2247
>>        46666:           number of relative relocations: 2020
>>        46666:              time needed to load objects: 24821139 cycles (13.1%)
>>   clang-3.9: error: no input files
>>        46666:
>>        46666:   runtime linker statistics:
>>        46666:              final number of relocations: 28487
>>        46666:   final number of relocations from cache: 2247
>>
>> I think results are expected as symbols are not grouped together, what
>> looks to be the main condition for optimization to work.
>>
>>
>> http://reviews.llvm.org/D19528
>>
>>
>>


More information about the llvm-commits mailing list