Commits

Joe Pamer committed a18bedf0794
Factor the constraint-favoring machinery out of the constraint generation process, and re-work it into a series of passes over an expression sub-tree. Aside from tidying things up, doing this results in some significant benefits: - Allows for global constraint ordering optimizations over a given expression, not just on a peephole basis. - Eliminates a set of order-dependent bugs in the solver that have been dogging us for a while. (rdar://problem/19459079) - Brings another set of tyvar-to-tyvar solving problems out of the realm of the exponential. (rdar://problem/19005271) - Opens up the possibility of optimizing constraints during later solving phases - not just while generating them. Swift SVN r24693