Lower the rebinding of 'self' in a super.init call to a cast when it can't fail.
Lower the rebinding of 'self' in a super.init call to a cast when it can't fail.

Swift-rooted class hierarchies don't permit the replacement of "self",
so it's guaranteed that the 'self' returned from a 'super.init'
invocation is identical to the previous self. Elide the unconditional
checked downcast (that manifests as a call to
swift_dynamicCastClassUnconditional in the runtime) by putting in the
moral equivalent of a bitcast.

For Objective-C-rooted hierarchies, 'self' can be replaced, so memory
safety dictates that we use the unconditional checked downcast. Note
that this path is still unsafe against nil returns.

Swift SVN r12401

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