Improve code generated when real registers are clobbered
Improve code generated when real registers are clobbered

There was a long-standing ToDo here that I just did: if a real
register is clobbered by the current instruction, then we should move
it to another free register rather than spilling it to memory.  This
case crops up more often now that the register allocator can allocate
into the fixed Rn registers.

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