diff options
author | River Riddle <riddleriver@gmail.com> | 2021-02-23 14:22:30 -0800 |
---|---|---|
committer | River Riddle <riddleriver@gmail.com> | 2021-02-23 14:36:45 -0800 |
commit | abd3c6f24c823be6fb316b501482d8637c4a0724 (patch) | |
tree | 3028b47aed9412cf9ae218c2b76f8a8d41c06355 /llvm/lib/IR/Module.cpp | |
parent | 65a3197a8fa2e5d1deb8707bda13ebd21e1dedb3 (diff) | |
download | llvm-abd3c6f24c823be6fb316b501482d8637c4a0724.zip llvm-abd3c6f24c823be6fb316b501482d8637c4a0724.tar.gz llvm-abd3c6f24c823be6fb316b501482d8637c4a0724.tar.bz2 |
[mlir][Inliner] Use llvm::parallelForEach instead of llvm::parallelTransformReduce
llvm::parallelTransformReduce does not schedule work on the caller thread, which becomes very costly for
the inliner where a majority of SCCs are small, often ~1 element. The switch to llvm::parallelForEach solves this,
and also aligns the implementation with the PassManager (which realistically should share the same implementation).
This change dropped compile time on an internal benchmark by ~1(25%) second.
Differential Revision: https://reviews.llvm.org/D96086
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions