SIL: Verifier now checks dynamic cast source/destination types with same predicate as the optimizer
SIL: Verifier now checks dynamic cast source/destination types with same predicate as the optimizer

This patch can be reverted if this causes false positives.

Swift SVN r28714

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