Improve the Specialiser, fixing Trac #4203
Improve the Specialiser, fixing Trac #4203

Simply fixing #4203 is a tiny fix: in case alterantives we should
do dumpUDs *including* the case binder.  

But I realised that we can do better and wasted far too much time
implementing the idea.  It's described in
    Note [Floating dictionaries out of cases]

mfine/ghc,vTurbine/ghc,fmthoma/ghc,ezyang/ghc,anton-dessiatov/ghc,sdiehl/ghc,anton-dessiatov/ghc,tibbe/ghc,mettekou/ghc,ghc-android/ghc,mcschroeder/ghc,holzensp/ghc,forked-upstream-packages-for-ghcjs/ghc,anton-dessiatov/ghc,lukexi/ghc-7.8-arm64,siddhanathan/ghc,wxwxwwxxx/ghc,shlevy/ghc,frantisekfarka/ghc-dsi,oldmanmike/ghc,gcampax/ghc,lukexi/ghc,ryantm/ghc,nushio3/ghc,urbanslug/ghc,acowley/ghc,green-haskell/ghc,nathyong/microghc-ghc,oldmanmike/ghc,green-haskell/ghc,sdiehl/ghc,holzensp/ghc,sgillespie/ghc,olsner/ghc,mettekou/ghc,elieux/ghc,hferreiro/replay,christiaanb/ghc,christiaanb/ghc,tibbe/ghc,olsner/ghc,anton-dessiatov/ghc,vTurbine/ghc,tjakway/ghcjvm,snoyberg/ghc,ezyang/ghc,mcmaniac/ghc,TomMD/ghc,wxwxwwxxx/ghc,hferreiro/replay,ezyang/ghc,mcmaniac/ghc,oldmanmike/ghc,nathyong/microghc-ghc,fmthoma/ghc,sdiehl/ghc,jstolarek/ghc,tjakway/ghcjvm,spacekitteh/smcghc,urbanslug/ghc,lukexi/ghc,gridaphobe/ghc,mfine/ghc,gridaphobe/ghc,GaloisInc/halvm-ghc,vikraman/ghc,hferreiro/replay,gcampax/ghc,ml9951/ghc,oldmanmike/ghc,oldmanmike/ghc,mfine/ghc,nomeata/ghc,frantisekfarka/ghc-dsi,jstolarek/ghc,sdiehl/ghc,acowley/ghc,sgillespie/ghc,AlexanderPankiv/ghc,GaloisInc/halvm-ghc,ekmett/ghc,tjakway/ghcjvm,lukexi/ghc,ekmett/ghc,spacekitteh/smcghc,nkaretnikov/ghc,olsner/ghc,tibbe/ghc,vTurbine/ghc,anton-dessiatov/ghc,nkaretnikov/ghc,mcschroeder/ghc,GaloisInc/halvm-ghc,gridaphobe/ghc,fmthoma/ghc,hferreiro/replay,snoyberg/ghc,TomMD/ghc,snoyberg/ghc,forked-upstream-packages-for-ghcjs/ghc,sdiehl/ghc,shlevy/ghc,vikraman/ghc,bitemyapp/ghc,ml9951/ghc,mcschroeder/ghc,olsner/ghc,ezyang/ghc,ml9951/ghc,anton-dessiatov/ghc,vikraman/ghc,ml9951/ghc,acowley/ghc,holzensp/ghc,urbanslug/ghc,mettekou/ghc,mcschroeder/ghc,ghc-android/ghc,mettekou/ghc,frantisekfarka/ghc-dsi,nathyong/microghc-ghc,gridaphobe/ghc,siddhanathan/ghc,GaloisInc/halvm-ghc,nomeata/ghc,forked-upstream-packages-for-ghcjs/ghc,spacekitteh/smcghc,TomMD/ghc,lukexi/ghc-7.8-arm64,nkaretnikov/ghc,nomeata/ghc,nushio3/ghc,green-haskell/ghc,hferreiro/replay,ryantm/ghc,mfine/ghc,wxwxwwxxx/ghc,ml9951/ghc,elieux/ghc,TomMD/ghc,vTurbine/ghc,vTurbine/ghc,gcampax/ghc,acowley/ghc,christiaanb/ghc,acowley/ghc,nkaretnikov/ghc,nkaretnikov/ghc,sgillespie/ghc,vTurbine/ghc,ezyang/ghc,jstolarek/ghc,siddhanathan/ghc,mcschroeder/ghc,urbanslug/ghc,hferreiro/replay,elieux/ghc,mcschroeder/ghc,da-x/ghc,vikraman/ghc,wxwxwwxxx/ghc,sgillespie/ghc,ml9951/ghc,oldmanmike/ghc,lukexi/ghc,mcschroeder/ghc,fmthoma/ghc,sdiehl/ghc,urbanslug/ghc,vikraman/ghc,elieux/ghc,gridaphobe/ghc,wxwxwwxxx/ghc,tibbe/ghc,AlexanderPankiv/ghc,ghc-android/ghc,forked-upstream-packages-for-ghcjs/ghc,shlevy/ghc,mettekou/ghc,ryantm/ghc,christiaanb/ghc,lukexi/ghc,christiaanb/ghc,ilyasergey/GHC-XAppFix,nushio3/ghc,tjakway/ghcjvm,bitemyapp/ghc,mettekou/ghc,wxwxwwxxx/ghc,frantisekfarka/ghc-dsi,mettekou/ghc,nomeata/ghc,frantisekfarka/ghc-dsi,mcmaniac/ghc,ekmett/ghc,gcampax/ghc,lukexi/ghc-7.8-arm64,nushio3/ghc,AlexanderPankiv/ghc,ryantm/ghc,acowley/ghc,mcmaniac/ghc,shlevy/ghc,christiaanb/ghc,sdiehl/ghc,snoyberg/ghc,ml9951/ghc,fmthoma/ghc,tjakway/ghcjvm,mcmaniac/ghc,gridaphobe/ghc,ezyang/ghc,green-haskell/ghc,anton-dessiatov/ghc,fmthoma/ghc,lukexi/ghc-7.8-arm64,green-haskell/ghc,ghc-android/ghc,elieux/ghc,AlexanderPankiv/ghc,jstolarek/ghc,tibbe/ghc,TomMD/ghc,nomeata/ghc,oldmanmike/ghc,acowley/ghc,ghc-android/ghc,snoyberg/ghc,bitemyapp/ghc,vikraman/ghc,siddhanathan/ghc,olsner/ghc,forked-upstream-packages-for-ghcjs/ghc,ekmett/ghc,siddhanathan/ghc,gcampax/ghc,GaloisInc/halvm-ghc,nushio3/ghc,bitemyapp/ghc,ezyang/ghc,spacekitteh/smcghc,nathyong/microghc-ghc,da-x/ghc,holzensp/ghc,ml9951/ghc,nathyong/microghc-ghc,ilyasergey/GHC-XAppFix,wxwxwwxxx/ghc,olsner/ghc,ilyasergey/GHC-XAppFix,urbanslug/ghc,sgillespie/ghc,nkaretnikov/ghc,christiaanb/ghc,siddhanathan/ghc,elieux/ghc,nushio3/ghc,fmthoma/ghc,gcampax/ghc,AlexanderPankiv/ghc,TomMD/ghc,elieux/ghc,nathyong/microghc-ghc,da-x/ghc,tjakway/ghcjvm,GaloisInc/halvm-ghc,ryantm/ghc,mfine/ghc,ghc-android/ghc,snoyberg/ghc,da-x/ghc,AlexanderPankiv/ghc,siddhanathan/ghc,spacekitteh/smcghc,jstolarek/ghc,shlevy/ghc,forked-upstream-packages-for-ghcjs/ghc,snoyberg/ghc,da-x/ghc,shlevy/ghc,AlexanderPankiv/ghc,ghc-android/ghc,gridaphobe/ghc,urbanslug/ghc,nkaretnikov/ghc,mfine/ghc,shlevy/ghc,tjakway/ghcjvm,nushio3/ghc,da-x/ghc,ekmett/ghc,bitemyapp/ghc,gcampax/ghc,sgillespie/ghc,olsner/ghc,vTurbine/ghc,mfine/ghc,holzensp/ghc,sgillespie/ghc,vikraman/ghc,forked-upstream-packages-for-ghcjs/ghc,ilyasergey/GHC-XAppFix,lukexi/ghc-7.8-arm64,TomMD/ghc,hferreiro/replay,GaloisInc/halvm-ghc,da-x/ghc,nathyong/microghc-ghc