Go to file
Richard Smith 4e1ec636e1 ArgList: cache index ranges containing arguments with each ID
Improve performance of argument list parsing with large numbers of IDs and
large numbers of arguments, by tracking a conservative range of indexes within
the argument list that might contain an argument with each ID. In the worst
case (when the first and last argument with a given ID are at the opposite ends
of the argument list), this still results in a linear-time walk of the list,
but it helps substantially in the common case where each ID occurs only once,
or a few times close together in the list.

This gives a ~10x speedup to clang's `test/Driver/response-file.c`, which
constructs a very large set of command line arguments and feeds them to the
clang driver.

Differential Revision: https://reviews.llvm.org/D30130

llvm-svn: 300135
2017-04-12 23:19:51 +00:00
clang [clang-cl] Make all sanitizer flags available in clang-cl 2017-04-12 22:50:51 +00:00
clang-tools-extra Fix clang-tidy shared link with libc++ 2017-04-12 22:07:47 +00:00
compiler-rt Cache size per class size in SizeClassAllocatorXLocalCache. 2017-04-12 21:44:56 +00:00
debuginfo-tests Add an end-to-end testcase for address sanitizer. 2017-04-06 23:36:44 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Fix test failures with older Clang versions 2017-04-12 23:17:17 +00:00
libcxxabi [CMake][libcxxabi] Use -nodefaultlibs for CMake checks 2017-04-07 20:10:41 +00:00
libunwind Reland "[CMake][libunwind] Use -nodefaultlibs for CMake checks" 2017-04-12 02:28:07 +00:00
lld Allow expressions in MEMORY command. 2017-04-12 23:16:52 +00:00
lldb [NFC] Adding a new wrapper for getaddrinfo 2017-04-12 21:56:33 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
openmp Test cancellation_for_sections.c expectedly fails on GCC 2017-04-04 14:39:52 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Exploit BasicBlock::getModule to shorten code 2017-04-11 04:59:13 +00:00