[all-commits] [llvm/llvm-project] a81542: Reland D119909 [ELF] Parallelize initializeLocalSy...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Fri Mar 4 19:00:22 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a815424cc5df25d3e2dbdbc5fb3bf3f4dc927dff
https://github.com/llvm/llvm-project/commit/a815424cc5df25d3e2dbdbc5fb3bf3f4dc927dff
Author: Fangrui Song <i at maskray.me>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
Log Message:
-----------
Reland D119909 [ELF] Parallelize initializeLocalSymbols
ObjFile::parse combines symbol initialization and resolution. Many tasks
unrelated to symbol resolution can be postponed and parallelized. This patch
extracts local symbol initialization and parallelizes it.
Technically the new function initializeLocalSymbols can be merged into
ObjFile::postParse, but functions like getSrcMsg may access the
uninitialized (all nullptr) local part of InputFile::symbols.
Linking chrome: 1.02x as fast with glibc malloc, 1.04x as fast with mimalloc
Depends on f456c3ae3f4182b23673929e8fe0aa18bcec4289 and D119908
Reviewed By: ikudrin
Differential Revision: https://reviews.llvm.org/D119909
More information about the All-commits
mailing list