diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2010-12-13 01:44:01 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2010-12-13 01:44:01 +0000 |
commit | 6a57746ea8e94aaf3fbcc961dc95756f5f3dda52 (patch) | |
tree | 418389ced0cb3bfb5be8b76fc94a6aa38f106462 /lib/AST/TypeLoc.cpp | |
parent | 7b381985353304a7723acb05911ff91634fa1f27 (diff) |
Reduce the number of builtin operator overload candidates added in certain
cases. First, omit all builtin overloads when no non-record type is in the set
of candidate types. Second, avoid arithmetic type overloads for non-arithmetic
or enumeral types (counting vector types as arithmetic due to Clang
extensions). When heavily using constructs such as STL's '<<' based stream
logging, this can have a significant impact. One logging-heavy test case's
compile time dropped by 10% with this. Self-host shows 1-2% improvement in
compile time, but that's likely in the noise.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/TypeLoc.cpp')
0 files changed, 0 insertions, 0 deletions