Revert "Revert r14430: Create two SILLinking steps, one before Diagnostics for transparent functions and the other after Diagnostics for non transparent functions if -sil-link-all is passed in."
Revert "Revert r14430: Create two SILLinking steps, one before Diagnostics for transparent functions and the other after Diagnostics for non transparent functions if -sil-link-all is passed in."

This recommits r14446 with necessary changes.

The problem was that after my change SILGen was dumped before sil linking
occured. This change adds back in the code to ensure that sil linking occurs.

Swift SVN r14455

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