This is the second of two patches to address PR46753. We basically allow
SROA to promote allocas that are used in doppable instructions, for
now that means llvm.assume. The (transitive) uses are replaced by
undef in the droppable instructions.
See also D83976.
Same as https://reviews.llvm.org/D83976#inline-773557