[Git][ghc/ghc][wip/romes/27461] downsweep: make control flow simpler and cache correct