Speed up compilation of huge modules
Speed up compilation of huge modules

Reorder the compiler passes so that the beam_ssa_share passes
is run before the beam_ssa_bool and beam_ssa_recv passes.
For huge modules where the share optimization can be applied,
that can noticeably reduce the compile time.

For example, on my computer, this change reduced the compile
time for the String.Unicode module in the Elixir standard library
from almost 30 seconds down to less than 15 seconds.

jj1bdx/otp,dgud/otp,g-andrade/otp,dumbbell/otp,mikpe/otp,ferd/otp,dumbbell/otp,isvilen/otp,jj1bdx/otp,mikpe/otp,erlang/otp,bjorng/otp,dumbbell/otp,g-andrade/otp,potatosalad/otp,rlipscombe/otp,uabboli/otp,mikpe/otp,g-andrade/otp,bjorng/otp,emacsmirror/erlang,ferd/otp,emacsmirror/erlang,dumbbell/otp,erlang/otp,uabboli/otp,getong/otp,ferd/otp,isvilen/otp,ferd/otp,getong/otp,mikpe/otp,vinoski/otp,g-andrade/otp,vinoski/otp,getong/otp,erlang/otp,potatosalad/otp,dgud/otp,emacsmirror/erlang,mikpe/otp,mikpe/otp,isvilen/otp,emacsmirror/erlang,erlang/otp,g-andrade/otp,jj1bdx/otp,jj1bdx/otp,uabboli/otp,mikpe/otp,uabboli/otp,vinoski/otp,rlipscombe/otp,uabboli/otp,emacsmirror/erlang,g-andrade/otp,potatosalad/otp,bjorng/otp,g-andrade/otp,dgud/otp,dumbbell/otp,ferd/otp,jj1bdx/otp,ferd/otp,potatosalad/otp,emacsmirror/erlang,dumbbell/otp,isvilen/otp,bjorng/otp,jj1bdx/otp,isvilen/otp,mikpe/otp,getong/otp,dumbbell/otp,getong/otp,rlipscombe/otp,rlipscombe/otp,erlang/otp,uabboli/otp,g-andrade/otp,ferd/otp,potatosalad/otp,potatosalad/otp,potatosalad/otp,rlipscombe/otp,mikpe/otp,dgud/otp,bjorng/otp,rlipscombe/otp,mikpe/otp,dgud/otp,emacsmirror/erlang,jj1bdx/otp,dumbbell/otp,dgud/otp,erlang/otp,bjorng/otp,dgud/otp,isvilen/otp,vinoski/otp,getong/otp,rlipscombe/otp,g-andrade/otp,ferd/otp,vinoski/otp,isvilen/otp,getong/otp,erlang/otp,jj1bdx/otp,bjorng/otp,ferd/otp,erlang/otp,vinoski/otp,bjorng/otp,emacsmirror/erlang,dgud/otp,dgud/otp,erlang/otp,bjorng/otp,rlipscombe/otp,potatosalad/otp,vinoski/otp,isvilen/otp,emacsmirror/erlang,rlipscombe/otp,potatosalad/otp,dumbbell/otp,getong/otp,uabboli/otp,vinoski/otp,dgud/otp,vinoski/otp,vinoski/otp,potatosalad/otp,uabboli/otp,rlipscombe/otp,erlang/otp,dumbbell/otp,bjorng/otp,getong/otp,jj1bdx/otp,isvilen/otp,emacsmirror/erlang,g-andrade/otp,getong/otp,uabboli/otp,jj1bdx/otp,isvilen/otp