Begin the refactoring of how builtin operators are added to the overload

candidate set. This breaks apart a huge switch + goto system into distinct
methods on a class. It also places the current mess of tables and other static
state used in the process within that class.

This is still a work in progress. I did a few simplifications that jumped out
at me as I went, but I plan to iterate on this a bit before it's truly clean.
However, this is easily the most invasive chunk. I benchmarked it on
all-std-headers.cpp and an internal testcase that has a major hotspot in
overload resolution and saw no real performance impact.

llvm-svn: 121623
This commit is contained in:
Chandler Carruth 2010-12-12 08:11:30 +00:00
parent 053a025bfe
commit 85c2d09a5a
1 changed files with 905 additions and 799 deletions

File diff suppressed because it is too large Load Diff