[sil-simplify-cfg] Implementation of a dominator-based jump-threading for checked_cast_br [exact]
[sil-simplify-cfg] Implementation of a dominator-based jump-threading for checked_cast_br [exact]

it is very beneficial for code that:
 - references the same object multiple times (e.g. x.f1() + x.f2())
 - and for method invocation chaining (e.g. x.f3().f4().f5())

rdar://18914224

Swift SVN r23515

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