Int Promotion pass:
This pass aims to replace some int instruction by instructions on long, that are supported by the SR of
the LCT pass. It is called before the move forwarding pass.
Basic-blocks transformations composed passes:
If Compopts.btl_bb is false, the pass is not called;
Activated if either expansions, lct or store motion are on;
Convert into BTL with basic-blocks, and with synthetic nodes
only in the lct and store motion cases;
LCT, store motion and expansion are applied sequentially and
verified separately (not using the same set of rewriting rules);
Code is translated back to RTL using the classical way.
RTL -> BTL (BB \/ BBSN) -> BTL (Lazy code optim) -> BTL (Store motion) -> BTL (Expansed) -> RTL