[LoadStoreOpt] make sure Loads do not hold deleted SILInstructions.
[LoadStoreOpt] make sure Loads do not hold deleted SILInstructions.

We add a callback function to recursivelyDeleteTriviallyDeadInstructions.
When a Load instruction is deleted, we erase it from Loads.

rdar://16815627


Swift SVN r17558

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