Refactor a portion of SILMem2Reg.
Refactor a portion of SILMem2Reg.

This starts us in the direction of supporting promotion of
alloc_stack'ed addresses that appear in
debug_value_addr (rdar://problem/19087215), which will get us one step
closer to leaving debug_value/debug_value_addr around in optimized
builds (rdar://problem/18709125). NFC.

Swift SVN r23612

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