You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OP_NOOP elimination with label fixup (blocked on the scoped-labels refactor, plan #25 — the padding OP_NOOPs exist to flush pending labels).
comparison + OP_BRANCH_FALSE → single comparison-branch opcode (the 18 comparison-branch opcodes exist and their operand order was fixed in #21; this peephole is what would finally emit them).
Every pass must be mirrored or verified on the WebAssembly backend via the differential suite.
Plan item #24.
optimize()incompiler.tsis an empty stub.Obvious first passes, in rough order of value:
BinaryOpexpressions (the compile-time-value machinery was made trustworthy in the Compound assignment %= does not parse #7 fix).OP_JUMP/OP_TERM.OP_NOOPelimination with label fixup (blocked on the scoped-labels refactor, plan #25 — the paddingOP_NOOPs exist to flush pending labels).comparison + OP_BRANCH_FALSE→ single comparison-branch opcode (the 18 comparison-branch opcodes exist and their operand order was fixed in #21; this peephole is what would finally emit them).Every pass must be mirrored or verified on the WebAssembly backend via the differential suite.