aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
diff options
context:
space:
mode:
authorAlexandros Lamprineas <alexandros.lamprineas@arm.com>2022-11-28 21:47:59 +0000
committerAlexandros Lamprineas <alexandros.lamprineas@arm.com>2022-12-08 12:14:27 +0000
commit877a9f9abec61f06e39f1cd872e37b828139c2d1 (patch)
treea93e88ddda1b301d537bf00f56f035b00ecb28b0 /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
parent42c2dc401742266da3e0251b6c1ca491f4779963 (diff)
downloadllvm-877a9f9abec61f06e39f1cd872e37b828139c2d1.zip
llvm-877a9f9abec61f06e39f1cd872e37b828139c2d1.tar.gz
llvm-877a9f9abec61f06e39f1cd872e37b828139c2d1.tar.bz2
[FuncSpec] Make the Function Specializer part of the IPSCCP pass.
The aim of this patch is to minimize the compilation time overhead of running Function Specialization. It is about 40% slower to run as a standalone pass (IPSCCP + FuncSpec vs IPSCCP with FuncSpec) according to my measurements. I compiled the llvm testsuite with NewPM-O3 + LTO and measured single threaded [user + system] time of IPSCCP and FuncSpec by passing the '-time-passes' option to lld. Then I compared the two configurations in terms of Instruction Count of the total compilation (not of the individual passes) as in https://llvm-compile-time-tracker.com. Geomean for non-LTO builds is -0.25% and LTO is -0.5% approximately. You can find more info below: https://discourse.llvm.org/t/rfc-should-we-enable-function-specialization/61518 Differential Revision: https://reviews.llvm.org/D126455
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions