hanchenye-llvm-project/llvm/lib/Option
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
..
Arg.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
ArgList.cpp ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
CMakeLists.txt
LLVMBuild.txt
OptTable.cpp
Option.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00