Don't split up stores into an existential payload in DI
Don't split up stores into an existential payload in DI

Predictable memory optimization would do the wrong thing upon
encountering a copy_addr into the payload of an existential --
if the source of the copy was otherwise promotable, it would
attempt to explode the copy_addr into a sequence of scalars.

The 'sub-element' counting code assumed that the source and
destination type had the same shape when tuples and structs
were exploded, so if the existential payload was a struct or
tuple with multiple elements, invariants would be lost in
the bookkeeping code.

So it appears that if the destination of a store is an
existential payload it does not really make sense to consider
the uses individually in DI.

I'm not aware of any code that SILGen currently emits which
may trigger this, but it came up while I was testing some
other stuff.

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