diff options
author | Rui Ueyama <ruiu@google.com> | 2015-09-18 21:06:34 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-09-18 21:06:34 +0000 |
commit | aa95e5a4cca1a2dfa7233ad0d0350ae9c3743e50 (patch) | |
tree | 3cf63e77f20b07c8e8672780d4965ff85addc8cb /clang/lib/Basic/Targets.cpp | |
parent | 201e10d0072b7d85f021888fddca8c4a76d08223 (diff) | |
download | bcm5719-llvm-aa95e5a4cca1a2dfa7233ad0d0350ae9c3743e50.tar.gz bcm5719-llvm-aa95e5a4cca1a2dfa7233ad0d0350ae9c3743e50.zip |
COFF: Parallelize ICF.
The LLD's ICF algorithm is highly parallelizable. This patch does that
using parallel_for_each.
ICF accounted for about one third of total execution time. Previously,
it took 324 ms when self-hosting. Now it takes only 62 ms.
Of course your mileage may vary. My machine is a beefy 24-core Xeon machine,
so you may not see this much speedup. But this optimization should be
effective even for 2-core machine, since I saw speedup (324 ms -> 189 ms)
when setting parallelism parameter to 2.
llvm-svn: 248038
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
0 files changed, 0 insertions, 0 deletions