Uniqueness hoisting: Always perform type based analysis
Uniqueness hoisting: Always perform type based analysis

We used to only fallback to type based analysis when we had non uniquely
identified pointers.

This recovers the PrimeNum regression at -O and improves InsertionSort by 3x
(new improvement) at -O.

rdar://22101233

Swift SVN r30949

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