dillon1000/react
Commit
Browse files 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.
Changed paths11 files
First-parent comparisoncompiler/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 ModifiedPatch
Files changed
Rendering syntax-highlighted changes…