Open
Description
This issue is to keep track of CFG-related improvements identified during the review of PR#547.
- remove duplicate "is_pure" after Refactor and correct the "is pure" and "can raise" (port upstream PR#10354 and PR#10387) #555 merges
- liveness: Poptrap, Prolog, Pushtrap live across should be set to "value" not empty. See comment.
- forward: use less_equal not compare for fixpoint check
- backward: simplify special treatment of trap handler blocks. See comment.
- backward: change the types of transformers (don't return instruction) and the result (per instruction not per block)
- merge forward and backward if possible
- Cfgize.Trap_depth_and_exn : simplify exceptional_successor, it's always (pop stack) if the block can raise. See comment.
- reenable cfg_equivalence check for layout