aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ConstantFold.cpp
diff options
context:
space:
mode:
authorEugene Zhulenev <ezhulenev@google.com>2021-02-18 16:24:56 -0800
committerEugene Zhulenev <ezhulenev@google.com>2021-02-19 12:43:36 -0800
commitf99ccf6516bdd5def4d3bc311330aec92f5cb99d (patch)
treedb1a003960f4ff53dfef6a8bf2c2422aa536fe2d /llvm/lib/IR/ConstantFold.cpp
parent0923a60ea70f884d2f170f65d0faa494a25af231 (diff)
downloadllvm-f99ccf6516bdd5def4d3bc311330aec92f5cb99d.zip
llvm-f99ccf6516bdd5def4d3bc311330aec92f5cb99d.tar.gz
llvm-f99ccf6516bdd5def4d3bc311330aec92f5cb99d.tar.bz2
[mlir] Add math polynomial approximation pass
This gives ~30x speedup compared to expanding Tanh into exp operations: ``` name old cpu/op new cpu/op delta BM_mlir_Tanh_f32/10 253ns ± 3% 55ns ± 7% -78.35% (p=0.000 n=44+41) BM_mlir_Tanh_f32/100 2.21µs ± 4% 0.14µs ± 8% -93.85% (p=0.000 n=48+49) BM_mlir_Tanh_f32/1k 22.6µs ± 4% 0.7µs ± 5% -96.68% (p=0.000 n=32+42) BM_mlir_Tanh_f32/10k 225µs ± 5% 7µs ± 6% -96.88% (p=0.000 n=49+55) name old time/op new time/op delta BM_mlir_Tanh_f32/10 259ns ± 1% 56ns ± 2% -78.31% (p=0.000 n=41+39) BM_mlir_Tanh_f32/100 2.27µs ± 1% 0.14µs ± 5% -93.89% (p=0.000 n=46+49) BM_mlir_Tanh_f32/1k 22.9µs ± 1% 0.8µs ± 4% -96.67% (p=0.000 n=30+42) BM_mlir_Tanh_f32/10k 230µs ± 0% 7µs ± 3% -96.88% (p=0.000 n=37+55) ``` This approximations is based on Eigen::generic_fast_tanh function Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96739
Diffstat (limited to 'llvm/lib/IR/ConstantFold.cpp')
0 files changed, 0 insertions, 0 deletions