[PATCH] D26130: [ELF] - Implemented --symbol-ordering-file option.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 1 11:36:56 PDT 2016


I just finished a run of firefox.

Unfortunately it is substantially harder to test than clang. What is needed is

* Create a test.html file with window.close() so that we have a
firefox invocation we can time.
* Subtract the xul load address since perf -D prints raw values.
* The link with 33k symbols in the order file then takes about 8 minutes.

And after all that there was no significant change in performance.

Assuming the patch can be cleaned up and optimized I think there is
enough justification for it.

George, you should probably post your updated icegrind plugin
somewhere. The two main advantages it should have is not requiring a
crazy high sampling rate and also ordering data sections.

Cheers,
Rafael


On 1 November 2016 at 12:45, George Rimar <grimar at accesssoftek.com> wrote:
> grimar added inline comments.
>
>
> ================
> Comment at: ELF/Writer.cpp:679
> +  // Build sections order map from symbols list.
> +  DenseMap<InputSectionBase<ELFT> *, unsigned> SectionsOrder;
> +  for (size_t I = 0; I < Config->SymbolOrderingFile.size(); ++I) {
> ----------------
> rafael wrote:
>> This is crazy inefficient.
>>
>> You probably want to make SymbolOrderingFile a DenseMap from CachedStringRef to unsigned.
> Yeah.. that was stupid from my side. I am going to address this one and other comments tomorrow.
>
>
> https://reviews.llvm.org/D26130
>
>
>


More information about the llvm-commits mailing list