beam_ssa_opt: Add simplification of switch lists
beam_ssa_opt: Add simplification of switch lists

When the argument for a #b_switch{} comes from a phi node
with only literal values, the switch list could be pruned to
only contain the possible values. It could also be possible
to eliminate the failure label.

Also simplify a switch with a single value list or switch that can be
replaced with an is_boolean test.

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