Skip to content

Skip the liveness lint dataflow when there is nothing to check [-0.05% avg] - #104

Draft
xmakro wants to merge 1 commit into
perf/base-0809from
perf/rm0809-liveness
Draft

Skip the liveness lint dataflow when there is nothing to check [-0.05% avg]#104
xmakro wants to merge 1 commit into
perf/base-0809from
perf/rm0809-liveness

Conversation

@xmakro

@xmakro xmakro commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Bodies with no user-declared variables and no captures, which covers compiler generated and trivial bodies, can never produce an unused-assignment lint, yet still paid for the full backward dataflow and a postorder scan.

Measured alone at head 969b803 (clean from-scratch ThinLTO plus jemalloc stage2 build per side, instructions:u, Check/Debug/Opt across Full/IncrFull/IncrUnchanged/IncrPatched, 551 cells): -0.05% mean, 23 cells improved by at least 0.25%, none regressed. The win concentrates where such bodies dominate: tuple-stress -1.3% to -1.6% across all profiles.

Bodies with no user-declared variables and no captures (compiler
generated and trivial bodies) can never produce an unused-assignment
lint, yet still paid for the full backward dataflow and a postorder
scan.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant