Add a profile-guided code layout pass
Summary: This diff implements a profile-guided code layout pass, and enables it
for all PGO-based, Optimize translations. The method implemented here
is described in "Profile Guided Code Positioning" (PLDI'1990) by
Pettis & Hansen (more specifically, Algo2, from section 4.2.1). This
implementation uses estimated arc weights derived from a combination
of profile counters inserted at the bytecode-level blocks (in Profile
translations) and the JIT-time Likely/Unlikely/Unused hints (encoded
in the "area" field of the Vblocks).
Reviewed By: @jdelong
Differential Revision:
D2073974