[PATCH] D93838: [SCCP] Add Function Specialization pass
Chuanqi Xu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 11 01:09:27 PDT 2021
ChuanqiXu added a comment.
In D93838#2745856 <https://reviews.llvm.org/D93838#2745856>, @SjoerdMeijer wrote:
>> After I applied this patch with trunk, I got 10% performance increase with 505, which is consistency with my previous experiments. It looks like the hardware maybe a key factor in this case? I would try to look into this.
>
> Yeah, I am on an old slow system where things behave slightly different, but the trend is the same.
>
> I have seen your previous comments, but just a sign of life that I am investigating compile times and will come back to your previous comments. The way I am investigating compile times is just by looking at he final LTO compile/link step:
>
> clang -Wl,--sort-section=name -flto=full -fuse-ld=lld -O3 -flto=full mcf.o mcfutil.o readmin.o implicit.o pstart.o output.o treeup.o pbla.o pflowup.o psimplex.o pbeampp.o spec_qsort/spec_qsort.o -lm -o mcf_r -Wl,-mllvm -Wl,-enable-function-specialization=1
>
> For this compile/link step, compile times goes up from 13s to 17s. I found that `-ftime-report` unfortunately doesn't work in LTO, or I am doing something wrong, but I want to find out where I am losing 4 seconds. By manually adding time instrumentation at the beginning and end of the function specialization pass, it looks like I am only loosing 0.2s in this pass, so now my question is where the other 3.8s are lost. I haven't found the answer to that yet. One suspicion is that more functions need to be compiled and that's where extra compile time is spent. I haven't looked if the 2 specialised functions in MCF are large functions which would explain that. But that's where I am at with this....to be continued next week.
In my environments, the compiler/link time for `505.mcf_r` is less than 1s (The reason maybe the compile concurrency is relatively high) in the original LTO mode. After I apply this patch, the compile/link time is a little bit larger than 1s . So I am OK with the compile time now.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93838/new/
https://reviews.llvm.org/D93838
More information about the llvm-commits
mailing list