summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2018-01-09 20:36:42 +0000
committerRui Ueyama <ruiu@google.com>2018-01-09 20:36:42 +0000
commit5fa0d6e4a2bd3f9de565ce13c3107b91a2530ad3 (patch)
treeb0d3d4bbfa8170a87ca7d0886bdedf6d87cae1fa /llvm
parent72b3855bf58702b3731d74f8eb24f8c5dfb150d8 (diff)
downloadbcm5719-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.h2
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)
OpenPOWER on IntegriCloud