diff options
author | Rui Ueyama <ruiu@google.com> | 2018-01-09 20:36:42 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2018-01-09 20:36:42 +0000 |
commit | 5fa0d6e4a2bd3f9de565ce13c3107b91a2530ad3 (patch) | |
tree | b0d3d4bbfa8170a87ca7d0886bdedf6d87cae1fa /llvm | |
parent | 72b3855bf58702b3731d74f8eb24f8c5dfb150d8 (diff) | |
download | bcm5719-llvm-5fa0d6e4a2bd3f9de565ce13c3107b91a2530ad3.tar.gz bcm5719-llvm-5fa0d6e4a2bd3f9de565ce13c3107b91a2530ad3.zip |
[COFF] Process /EXPORT option in fastpath
Patch by Takuto Ikuta.
This patch reduces lld link time of chromium's blink_core.dll in
component build.
Total size of input argument in .directives become nearly 300MB in the
build and almost all its content are /EXPORT.
To reduce time of parsing too many /EXPORT option in the build, I
introduce fastpath for /EXPORT in ArgParser::parseDirectives.
On my desktop machine, 4 times stats of the link time are like below.
Improved around 20%.
This patch
TotalSeconds : 8.6217627
TotalSeconds : 8.5402175
TotalSeconds : 8.6855853
TotalSeconds : 8.3624441
Ave : 8.5525024
master
TotalSeconds : 10.9975031
TotalSeconds : 11.3409428
TotalSeconds : 10.6332897
TotalSeconds : 10.7650687
Ave : 10.934201075
llvm-svn: 322117
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/Option/ArgList.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/include/llvm/Option/ArgList.h b/llvm/include/llvm/Option/ArgList.h index aaea68bf8e2..a80921fa842 100644 --- a/llvm/include/llvm/Option/ArgList.h +++ b/llvm/include/llvm/Option/ArgList.h @@ -390,6 +390,8 @@ private: void releaseMemory(); public: + InputArgList() : NumInputArgStrings(0) {} + InputArgList(const char* const *ArgBegin, const char* const *ArgEnd); InputArgList(InputArgList &&RHS) |