diff options
author | Arthur Eubanks <aeubanks@google.com> | 2020-12-04 08:30:34 -0800 |
---|---|---|
committer | Arthur Eubanks <aeubanks@google.com> | 2020-12-04 08:30:50 -0800 |
commit | 7f6f9f4cf966c78a315d15d6e913c43cfa45c47c (patch) | |
tree | 704c28dcfca3341243afa63c91e1a75d00f50bb8 /llvm/lib/Support/JSON.cpp | |
parent | f628eef98acd24f8eb6a52d67ee887bb18f04bca (diff) | |
download | llvm-7f6f9f4cf966c78a315d15d6e913c43cfa45c47c.zip llvm-7f6f9f4cf966c78a315d15d6e913c43cfa45c47c.tar.gz llvm-7f6f9f4cf966c78a315d15d6e913c43cfa45c47c.tar.bz2 |
[NewPM] Make pass adaptors less templatey
Currently PassBuilder.cpp is by far the file that takes longest to
compile. This is due to tons of templates being instantiated per pass.
Follow PassManager by using wrappers around passes to avoid making
the adaptors templated on the pass type. This allows us to move various
adaptors' run methods into .cpp files.
This reduces the compile time of PassBuilder.cpp on my machine from 66
to 39 seconds. It also reduces the size of opt from 685M to 676M.
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D92616
Diffstat (limited to 'llvm/lib/Support/JSON.cpp')
0 files changed, 0 insertions, 0 deletions