dillon1000/react

Commit

Separate eachLValue/eachOperand visitors

This PR starts to clean up our handling of lvalues and rvalues by adding new 
`eachInstructionLValues()` and `mapInstructionLValues()` helpers. Now, 
`eachInstructionOperand()` and `mapInstructionOperands()` only visit true 
rvalues, and the new passes must be used to visit lvalues. This allows us to 
remove the special-casing for StoreLocal and Destructure in most of the passes.
Browse files
Changed paths11 files
First-parent comparison
M compiler/forget/src/HIR/ValidateConsistentIdentifiers.ts ModifiedM compiler/forget/src/HIR/visitors.ts ModifiedM compiler/forget/src/Inference/InferAliasForStores.ts ModifiedM compiler/forget/src/Inference/InferMutableLifetimes.ts ModifiedM compiler/forget/src/ReactiveScopes/BuildReactiveBlocks.ts ModifiedM compiler/forget/src/ReactiveScopes/InferReactiveIdentifiers.ts ModifiedM compiler/forget/src/ReactiveScopes/visitors.ts ModifiedM compiler/forget/src/SSA/EliminateRedundantPhi.ts ModifiedM compiler/forget/src/SSA/EnterSSA.ts ModifiedM compiler/forget/src/SSA/LeaveSSA.ts ModifiedM compiler/forget/src/TypeInference/InferTypes.ts Modified
Patch

Files changed

Rendering syntax-highlighted changes…