Skeleton for an IRE
basic block optimizer.
Attempt to optimize a basic block. All instruction in the block may be modified.
- the number of optimizations performed in the block; a negative value can be returned
to indicate a transaction failure (critical error),
Perform the optimization pass. The caller may request that data chains not be updated,
whenever possible. (They may be updated internally by the optimizer, which has the final say
as to how and when DFA calculations should be run.)
The above means that data chains after running this method may or may not have been modified,
and may or may not be in a consistent state with the optimized CFG.
||must be true / this parameter will be deprecated (previously was: if true,
update data chains according to the optimizer's policy; if false, the optimizer
should not perform final DFA computations if needed)
- the result of a call to one of
postPerform(...) or a negative number
indicating an error has occurred and the optimizing process should be aborted