rework SILGenFunction::emitValueConstructor to use less custom logic for the return value handling.  Instead of doing everything itself, leverage the cleanup mechanics of emitLocalVariableWithCleanup to ensure the self box is cleaned up on all paths out of the constructor, and use the epilog generation stuff to handle all the return path mechanics.
rework SILGenFunction::emitValueConstructor to use less custom logic for the return
value handling.  Instead of doing everything itself, leverage the cleanup mechanics
of emitLocalVariableWithCleanup to ensure the self box is cleaned up on all paths out
of the constructor, and use the epilog generation stuff to handle all the return
path mechanics.

NFC, no change at all to generated code.


Swift SVN r27466

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