SIL: Verify func args, branch args, and returns.
SIL: Verify func args, branch args, and returns.

Add code to the verifier to verify that the entry point BB for a function has the right argument types for its function type, return instructions match the function type, and branch instruction arguments match the branched-to BB.

Swift SVN r4487

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