dillon1000/react
Commit
Browse files [new-arch] Store HIR blocks in reverse postorder
* Changes HIR to store blocks in reverse postorder, which allows forward data flow analysis to iterate the blocks in order and (in the absence of loops) see all predecessors before visiting a successor. * Updates reference kind inference to exploit this ordering Note that the approach of modifying the ordering in `mapTerminalSuccessors()` feels gross, i'd like to split this up a bit.
Changed paths8 files
First-parent comparisoncompiler/forget/src/HIR/HIR.ts ModifiedM compiler/forget/src/HIR/HIRBuilder.ts ModifiedM compiler/forget/src/HIR/InferReferenceCapability.ts ModifiedM compiler/forget/src/__tests__/fixtures/hir/component.expect.md ModifiedM compiler/forget/src/__tests__/fixtures/hir/conditional-break.expect.md ModifiedA compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.expect.md AddedA compiler/forget/src/__tests__/fixtures/hir/reverse-postorder.js AddedM compiler/forget/src/__tests__/fixtures/hir/switch-non-final-default.expect.md ModifiedPatch
Files changed
Rendering syntax-highlighted changes…