As soon as we generate a constraint, attempt to simplify that constraint. This eliminates a lot of redundant looping over constraints, which can have a non-trivial performance impact: in an utterly unscientific test of a Debug build type-checking swift.swift, this minor tweak improves performance by 3x. It doesn't help with the ridiculously exponential issues, however.
As soon as we generate a constraint, attempt to simplify that
constraint. This eliminates a lot of redundant looping over
constraints, which can have a non-trivial performance impact: in an
utterly unscientific test of a Debug build type-checking swift.swift,
this minor tweak improves performance by 3x. It doesn't help with the
ridiculously exponential issues, however.


Swift SVN r2923

swiftix/swift.old,CodaFi/swift,codestergit/swift,calebd/swift,ben-ng/swift,benlangmuir/swift,practicalswift/swift,rudkx/swift,khizkhiz/swift,IngmarStein/swift,frootloops/swift,tjw/swift,tjw/swift,russbishop/swift,jopamer/swift,swiftix/swift,Jnosh/swift,ahoppen/swift,karwa/swift,LeoShimonaka/swift,swiftix/swift,brentdax/swift,sdulal/swift,jmgc/swift,allevato/swift,aschwaighofer/swift,kperryua/swift,natecook1000/swift,kstaring/swift,dduan/swift,parkera/swift,xwu/swift,jmgc/swift,swiftix/swift,xedin/swift,modocache/swift,kperryua/swift,MukeshKumarS/Swift,dduan/swift,therealbnut/swift,arvedviehweger/swift,apple/swift,amraboelela/swift,brentdax/swift,apple/swift,xwu/swift,zisko/swift,swiftix/swift.old,Jnosh/swift,Jnosh/swift,sschiau/swift,alblue/swift,bitjammer/swift,gribozavr/swift,russbishop/swift,ahoppen/swift,ken0nek/swift,practicalswift/swift,swiftix/swift.old,tkremenek/swift,sdulal/swift,swiftix/swift.old,johnno1962d/swift,airspeedswift/swift,calebd/swift,rudkx/swift,sschiau/swift,tkremenek/swift,airspeedswift/swift,aschwaighofer/swift,nathawes/swift,milseman/swift,milseman/swift,jopamer/swift,jckarter/swift,IngmarStein/swift,danielmartin/swift,khizkhiz/swift,CodaFi/swift,atrick/swift,sdulal/swift,hooman/swift,manavgabhawala/swift,milseman/swift,modocache/swift,OscarSwanros/swift,cbrentharris/swift,jtbandes/swift,apple/swift,brentdax/swift,atrick/swift,kusl/swift,JaSpa/swift,hughbe/swift,danielmartin/swift,shahmishal/swift,airspeedswift/swift,jtbandes/swift,alblue/swift,swiftix/swift,OscarSwanros/swift,deyton/swift,lorentey/swift,amraboelela/swift,IngmarStein/swift,jopamer/swift,parkera/swift,djwbrown/swift,tkremenek/swift,LeoShimonaka/swift,JGiola/swift,zisko/swift,emilstahl/swift,swiftix/swift,khizkhiz/swift,huonw/swift,kperryua/swift,shahmishal/swift,devincoughlin/swift,tjw/swift,codestergit/swift,khizkhiz/swift,hooman/swift,karwa/swift,xedin/swift,CodaFi/swift,LeoShimonaka/swift,xedin/swift,ben-ng/swift,jopamer/swift,jmgc/swift,calebd/swift,tardieu/swift,mightydeveloper/swift,rudkx/swift,lorentey/swift,emilstahl/swift,return/swift,allevato/swift,jopamer/swift,tkremenek/swift,kusl/swift,frootloops/swift,harlanhaskins/swift,brentdax/swift,ken0nek/swift,benlangmuir/swift,shajrawi/swift,dduan/swift,kentya6/swift,jopamer/swift,swiftix/swift.old,huonw/swift,nathawes/swift,cbrentharris/swift,xwu/swift,mightydeveloper/swift,johnno1962d/swift,roambotics/swift,ken0nek/swift,codestergit/swift,karwa/swift,alblue/swift,KrishMunot/swift,karwa/swift,amraboelela/swift,tjw/swift,danielmartin/swift,mightydeveloper/swift,Ivacker/swift,gregomni/swift,IngmarStein/swift,arvedviehweger/swift,shajrawi/swift,gottesmm/swift,karwa/swift,IngmarStein/swift,deyton/swift,roambotics/swift,natecook1000/swift,djwbrown/swift,amraboelela/swift,codestergit/swift,ben-ng/swift,johnno1962d/swift,practicalswift/swift,JaSpa/swift,harlanhaskins/swift,LeoShimonaka/swift,dreamsxin/swift,hughbe/swift,shahmishal/swift,JGiola/swift,modocache/swift,return/swift,huonw/swift,lorentey/swift,brentdax/swift,russbishop/swift,tinysun212/swift-windows,gregomni/swift,return/swift,SwiftAndroid/swift,uasys/swift,atrick/swift,jckarter/swift,cbrentharris/swift,xedin/swift,KrishMunot/swift,felix91gr/swift,austinzheng/swift,sschiau/swift,Ivacker/swift,arvedviehweger/swift,jckarter/swift,danielmartin/swift,hooman/swift,kstaring/swift,hughbe/swift,alblue/swift,sschiau/swift,stephentyrone/swift,devincoughlin/swift,IngmarStein/swift,adrfer/swift,amraboelela/swift,calebd/swift,nathawes/swift,ben-ng/swift,lorentey/swift,MukeshKumarS/Swift,mightydeveloper/swift,hughbe/swift,JGiola/swift,xwu/swift,kusl/swift,natecook1000/swift,russbishop/swift,austinzheng/swift,cbrentharris/swift,atrick/swift,kperryua/swift,dduan/swift,kentya6/swift,kentya6/swift,kusl/swift,return/swift,shahmishal/swift,xwu/swift,jckarter/swift,bitjammer/swift,austinzheng/swift,natecook1000/swift,arvedviehweger/swift,bitjammer/swift,gmilos/swift,gottesmm/swift,codestergit/swift,therealbnut/swift,gribozavr/swift,JGiola/swift,devincoughlin/swift,alblue/swift,xedin/swift,khizkhiz/swift,jmgc/swift,emilstahl/swift,tjw/swift,uasys/swift,gregomni/swift,xwu/swift,tinysun212/swift-windows,apple/swift,emilstahl/swift,airspeedswift/swift,adrfer/swift,OscarSwanros/swift,russbishop/swift,khizkhiz/swift,hughbe/swift,tinysun212/swift-windows,emilstahl/swift,gmilos/swift,huonw/swift,shajrawi/swift,KrishMunot/swift,uasys/swift,therealbnut/swift,airspeedswift/swift,jmgc/swift,arvedviehweger/swift,felix91gr/swift,deyton/swift,jopamer/swift,LeoShimonaka/swift,sdulal/swift,airspeedswift/swift,danielmartin/swift,KrishMunot/swift,atrick/swift,ken0nek/swift,karwa/swift,return/swift,frootloops/swift,modocache/swift,parkera/swift,airspeedswift/swift,Jnosh/swift,lorentey/swift,kentya6/swift,benlangmuir/swift,slavapestov/swift,roambotics/swift,ken0nek/swift,parkera/swift,slavapestov/swift,djwbrown/swift,felix91gr/swift,JaSpa/swift,ahoppen/swift,glessard/swift,kusl/swift,modocache/swift,SwiftAndroid/swift,allevato/swift,natecook1000/swift,tardieu/swift,JaSpa/swift,adrfer/swift,gribozavr/swift,sschiau/swift,kusl/swift,Ivacker/swift,kstaring/swift,milseman/swift,slavapestov/swift,kusl/swift,OscarSwanros/swift,gribozavr/swift,emilstahl/swift,harlanhaskins/swift,ahoppen/swift,MukeshKumarS/Swift,parkera/swift,swiftix/swift,Ivacker/swift,sschiau/swift,johnno1962d/swift,harlanhaskins/swift,harlanhaskins/swift,swiftix/swift.old,MukeshKumarS/Swift,frootloops/swift,JaSpa/swift,roambotics/swift,devincoughlin/swift,swiftix/swift.old,cbrentharris/swift,jtbandes/swift,felix91gr/swift,huonw/swift,stephentyrone/swift,hooman/swift,shajrawi/swift,russbishop/swift,practicalswift/swift,stephentyrone/swift,gribozavr/swift,MukeshKumarS/Swift,mightydeveloper/swift,OscarSwanros/swift,MukeshKumarS/Swift,calebd/swift,manavgabhawala/swift,parkera/swift,arvedviehweger/swift,danielmartin/swift,manavgabhawala/swift,therealbnut/swift,Ivacker/swift,KrishMunot/swift,CodaFi/swift,JGiola/swift,calebd/swift,adrfer/swift,return/swift,kperryua/swift,zisko/swift,shajrawi/swift,kperryua/swift,therealbnut/swift,kperryua/swift,dreamsxin/swift,stephentyrone/swift,devincoughlin/swift,adrfer/swift,jtbandes/swift,austinzheng/swift,practicalswift/swift,aschwaighofer/swift,djwbrown/swift,austinzheng/swift,LeoShimonaka/swift,felix91gr/swift,mightydeveloper/swift,CodaFi/swift,gribozavr/swift,roambotics/swift,manavgabhawala/swift,modocache/swift,tjw/swift,austinzheng/swift,nathawes/swift,atrick/swift,alblue/swift,zisko/swift,tardieu/swift,deyton/swift,shajrawi/swift,swiftix/swift,JaSpa/swift,stephentyrone/swift,nathawes/swift,xedin/swift,gmilos/swift,alblue/swift,aschwaighofer/swift,apple/swift,tkremenek/swift,djwbrown/swift,brentdax/swift,allevato/swift,devincoughlin/swift,Jnosh/swift,SwiftAndroid/swift,kentya6/swift,Ivacker/swift,CodaFi/swift,gregomni/swift,jmgc/swift,ben-ng/swift,dduan/swift,dduan/swift,practicalswift/swift,slavapestov/swift,OscarSwanros/swift,manavgabhawala/swift,tinysun212/swift-windows,kentya6/swift,gottesmm/swift,slavapestov/swift,MukeshKumarS/Swift,gregomni/swift,huonw/swift,rudkx/swift,glessard/swift,codestergit/swift,shajrawi/swift,harlanhaskins/swift,tinysun212/swift-windows,uasys/swift,tjw/swift,devincoughlin/swift,natecook1000/swift,hughbe/swift,jckarter/swift,codestergit/swift,nathawes/swift,zisko/swift,adrfer/swift,OscarSwanros/swift,johnno1962d/swift,djwbrown/swift,tinysun212/swift-windows,zisko/swift,jmgc/swift,Jnosh/swift,milseman/swift,jtbandes/swift,karwa/swift,SwiftAndroid/swift,benlangmuir/swift,xedin/swift,gottesmm/swift,slavapestov/swift,apple/swift,shahmishal/swift,practicalswift/swift,sdulal/swift,milseman/swift,aschwaighofer/swift,gribozavr/swift,ben-ng/swift,bitjammer/swift,shahmishal/swift,sdulal/swift,return/swift,deyton/swift,milseman/swift,jckarter/swift,emilstahl/swift,bitjammer/swift,stephentyrone/swift,manavgabhawala/swift,gottesmm/swift,khizkhiz/swift,ken0nek/swift,xedin/swift,dduan/swift,Ivacker/swift,gregomni/swift,therealbnut/swift,aschwaighofer/swift,cbrentharris/swift,gmilos/swift,huonw/swift,rudkx/swift,practicalswift/swift,natecook1000/swift,cbrentharris/swift,sdulal/swift,felix91gr/swift,swiftix/swift.old,devincoughlin/swift,roambotics/swift,SwiftAndroid/swift,danielmartin/swift,Ivacker/swift,SwiftAndroid/swift,adrfer/swift,LeoShimonaka/swift,austinzheng/swift,sschiau/swift,hooman/swift,kentya6/swift,parkera/swift,KrishMunot/swift,gmilos/swift,manavgabhawala/swift,hooman/swift,shajrawi/swift,tardieu/swift,ken0nek/swift,CodaFi/swift,bitjammer/swift,djwbrown/swift,gottesmm/swift,russbishop/swift,johnno1962d/swift,tkremenek/swift,brentdax/swift,cbrentharris/swift,frootloops/swift,IngmarStein/swift,nathawes/swift,Jnosh/swift,tardieu/swift,mightydeveloper/swift,arvedviehweger/swift,tkremenek/swift,shahmishal/swift,benlangmuir/swift,hughbe/swift,parkera/swift,tardieu/swift,uasys/swift,shahmishal/swift,tardieu/swift,stephentyrone/swift,kstaring/swift,glessard/swift,kusl/swift,jckarter/swift,amraboelela/swift,ahoppen/swift,tinysun212/swift-windows,lorentey/swift,slavapestov/swift,therealbnut/swift,allevato/swift,KrishMunot/swift,glessard/swift,harlanhaskins/swift,sschiau/swift,calebd/swift,johnno1962d/swift,deyton/swift,ben-ng/swift,frootloops/swift,modocache/swift,deyton/swift,kentya6/swift,emilstahl/swift,uasys/swift,jtbandes/swift,mightydeveloper/swift,rudkx/swift,glessard/swift,frootloops/swift,uasys/swift,JaSpa/swift,zisko/swift,kstaring/swift,xwu/swift,allevato/swift,gottesmm/swift,felix91gr/swift,hooman/swift,sdulal/swift,gmilos/swift,amraboelela/swift,ahoppen/swift,jtbandes/swift,glessard/swift,bitjammer/swift,lorentey/swift,gribozavr/swift,lorentey/swift,karwa/swift,aschwaighofer/swift,kstaring/swift,gmilos/swift,kstaring/swift,JGiola/swift,allevato/swift,SwiftAndroid/swift,LeoShimonaka/swift,benlangmuir/swift