[PATCH] D93838: [SCCP] Add Function Specialization pass
Sjoerd Meijer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat May 8 00:15:48 PDT 2021
SjoerdMeijer added a comment.
> 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 this 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, compile times goes up from 13s to 17s. Ifound 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.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93838/new/
https://reviews.llvm.org/D93838
More information about the llvm-commits
mailing list