This patch depends on D61940, and is a small part split out of it. We use the FrameDestroy flag to detect the end of the stack frame, and extend stack variable locations past that point. This greatly enhances the chance that we can emit a single-value location.
Most of the discussion about this functionality is in the parent patch; the intention of splitting this part out, is so that out-of-tree backends can revert this patch if they have difficulties with FrameDestroy.