dillon1000/react
Commit
Browse files Add SSA-ify pass
The algorithm is described in detail here: https://pp.info.uni-karlsruhe.de/uploads/publikationen/braun13cc.pdf Note that the SSA form generated is not minimal. A follow on RedundantPhiElimination pass is required to prune the graph.
Changed paths40 files
First-parent comparisoncompiler/forget/src/HIR/HIR.ts ModifiedM compiler/forget/src/HIR/HIRBuilder.ts ModifiedM compiler/forget/src/HIR/PrintHIR.ts ModifiedA compiler/forget/src/HIR/SSAify.ts AddedM compiler/forget/src/__tests__/fixtures/hir/component.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-break.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-on-mutable.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/hooks-freeze-possibly-mutable-arguments.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/independent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/interdependent-across-if.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-loops.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/mutable-lifetime-with-aliasing.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reassignment-conditional.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/simple.expect.md ModifiedA compiler/forget/src/__tests__/fixtures/hir/ssa-complex-multiple-if.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-complex-multiple-if.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-complex-single-if.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-complex-single-if.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-for.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-for.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-if-else.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-if-else.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-return.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-return.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-simple-phi.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-simple-phi.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-simple.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-simple.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-single-if.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-single-if.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-switch.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-switch.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-throw.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-throw.js AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-while.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/ssa-while.js AddedM compiler/forget/src/__tests__/fixtures/hir/switch-non-final-default.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/switch.expect.md ModifiedM compiler/forget/src/__tests__/hir-test.ts ModifiedPatch
Files changed
Rendering syntax-highlighted changes…