]> granicus.if.org Git - clang/commit
Reduce the number of builtin operator overload candidates added in certain
authorChandler Carruth <chandlerc@gmail.com>
Mon, 13 Dec 2010 01:44:01 +0000 (01:44 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 13 Dec 2010 01:44:01 +0000 (01:44 +0000)
commit6a57746ea8e94aaf3fbcc961dc95756f5f3dda52
tree418389ced0cb3bfb5be8b76fc94a6aa38f106462
parent7b381985353304a7723acb05911ff91634fa1f27
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
lib/Sema/SemaOverload.cpp