beam_ssa_pre_codegen: Improve reuse of Y registers
beam_ssa_pre_codegen: Improve reuse of Y registers

Enhance the copy_retval/1 optimization to allow Y registers to be
reused in more circumstances. Reusing Y register can often reduce
the size of the stack frame.

electricimp/otp,uabboli/otp,dumbbell/otp,jj1bdx/otp,mikpe/otp,bsmr-erlang/otp,emacsmirror/erlang,getong/otp,aboroska/otp,lrascao/otp,kvakvs/otp,bjorng/otp,potatosalad/otp,kvakvs/otp,vinoski/otp,ferd/otp,vladdu/otp,g-andrade/otp,potatosalad/otp,emacsmirror/erlang,RoadRunnr/otp,dumbbell/otp,erlang/otp,vladdu/otp,mikpe/otp,ferd/otp,lrascao/otp,legoscia/otp,mikpe/otp,jj1bdx/otp,potatosalad/otp,RoadRunnr/otp,lrascao/otp,erlang/otp,RoadRunnr/otp,mikpe/otp,isvilen/otp,aboroska/otp,vinoski/otp,vinoski/otp,jj1bdx/otp,kvakvs/otp,vinoski/otp,vladdu/otp,rlipscombe/otp,ferd/otp,potatosalad/otp,kvakvs/otp,erlang/otp,uabboli/otp,emacsmirror/erlang,potatosalad/otp,legoscia/otp,bjorng/otp,erlang/otp,bsmr-erlang/otp,erlang/otp,ferd/otp,isvilen/otp,legoscia/otp,rlipscombe/otp,aboroska/otp,jj1bdx/otp,mikpe/otp,isvilen/otp,rlipscombe/otp,uabboli/otp,vladdu/otp,ferd/otp,RoadRunnr/otp,mikpe/otp,bjorng/otp,uabboli/otp,legoscia/otp,aboroska/otp,legoscia/otp,g-andrade/otp,dgud/otp,isvilen/otp,bjorng/otp,bjorng/otp,dumbbell/otp,lrascao/otp,rlipscombe/otp,electricimp/otp,getong/otp,getong/otp,vinoski/otp,electricimp/otp,vinoski/otp,dumbbell/otp,ferd/otp,rlipscombe/otp,electricimp/otp,dgud/otp,bjorng/otp,bjorng/otp,RoadRunnr/otp,getong/otp,jj1bdx/otp,lrascao/otp,erlang/otp,emacsmirror/erlang,bjorng/otp,emacsmirror/erlang,ferd/otp,lrascao/otp,isvilen/otp,vinoski/otp,vladdu/otp,jj1bdx/otp,RoadRunnr/otp,rlipscombe/otp,jj1bdx/otp,g-andrade/otp,potatosalad/otp,emacsmirror/erlang,aboroska/otp,dgud/otp,aboroska/otp,isvilen/otp,vladdu/otp,erlang/otp,g-andrade/otp,electricimp/otp,legoscia/otp,dumbbell/otp,uabboli/otp,getong/otp,rlipscombe/otp,bsmr-erlang/otp,uabboli/otp,dumbbell/otp,isvilen/otp,erlang/otp,kvakvs/otp,lrascao/otp,RoadRunnr/otp,uabboli/otp,getong/otp,bsmr-erlang/otp,ferd/otp,mikpe/otp,vladdu/otp,emacsmirror/erlang,jj1bdx/otp,RoadRunnr/otp,jj1bdx/otp,potatosalad/otp,g-andrade/otp,electricimp/otp,electricimp/otp,potatosalad/otp,g-andrade/otp,electricimp/otp,dgud/otp,legoscia/otp,erlang/otp,bjorng/otp,bsmr-erlang/otp,dgud/otp,vinoski/otp,aboroska/otp,vinoski/otp,isvilen/otp,lrascao/otp,rlipscombe/otp,dumbbell/otp,lrascao/otp,rlipscombe/otp,kvakvs/otp,RoadRunnr/otp,dumbbell/otp,g-andrade/otp,getong/otp,aboroska/otp,vladdu/otp,isvilen/otp,ferd/otp,mikpe/otp,bjorng/otp,dgud/otp,dgud/otp,g-andrade/otp,uabboli/otp,uabboli/otp,dumbbell/otp,dgud/otp,electricimp/otp,dgud/otp,rlipscombe/otp,erlang/otp,mikpe/otp,dumbbell/otp,isvilen/otp,legoscia/otp,mikpe/otp,vinoski/otp,vladdu/otp,aboroska/otp,potatosalad/otp,bsmr-erlang/otp,getong/otp,bsmr-erlang/otp,getong/otp,bsmr-erlang/otp,dgud/otp,emacsmirror/erlang,kvakvs/otp,emacsmirror/erlang,legoscia/otp,kvakvs/otp,g-andrade/otp,getong/otp,kvakvs/otp,potatosalad/otp,jj1bdx/otp,emacsmirror/erlang,bsmr-erlang/otp,g-andrade/otp