Skip to content

Refactor cfg_dataflow, cfg_liveness, cfgize #568

Open
@gretay-js

Description

@gretay-js

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions