[func-sig-opts] Move computation of optimized arg types and optimized arguments from functions into methods on ArgumentDescriptor.
[func-sig-opts] Move computation of optimized arg types and optimized arguments from functions into methods on ArgumentDescriptor.

This allows me to SROA arguments without messing with any of the rest of
the machinery in FunctionSignatureOpts since now the main machinery of
FunctionSigOpts manipulates ArgumentDescriptors instead of SIL directly.

Swift SVN r23500

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