dillon1000/react

Commit

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.
Browse files
Changed paths40 files
First-parent comparison
M compiler/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 Modified
Patch

Files changed

Rendering syntax-highlighted changes…