Devirtualize in the performance inliner.
Devirtualize in the performance inliner.

Attempt to devirtualize any apply that we come across in the performance
inliner prior to attempting to inline.

The is the first step of getting the inliner/specializer/devirtualizer
working together so that we can converge on high quality code with less
work.

Although this is not meant to directly improve performance, but rather
be a step towards converging to high quality code with fewer passes,
because it alters what gets inlined when, it did have a (mostly)
positive effect on performance.

These are some of the larger deltas I see, where the percentage is
percentage speed-up, and negative percentages indicate a slow-down.

-O:
---
BenchLangCallingCFunction         16.7%
CaptureProp                       17.1%
Sim2DArray                        22.0%

-Ounchecked
-----------
BenchLangCallingCFunction        -11.2%
QuickSort                         39.4%
SwiftStructuresBubbleSort        -26.7%

Swift SVN r26728

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