Skip to content

perform more aggressive optimization #1419

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Mar 28, 2025
Merged

perform more aggressive optimization #1419

merged 16 commits into from
Mar 28, 2025

Conversation

stylewarning
Copy link
Member

@stylewarning stylewarning commented Mar 19, 2025

This PR does a variety of things, but the most important are as follows:

  • During optimization, we propagate known dictionaries to their use sites.
  • During rewriting (inlining or specialization), we track if we do a rewrite, and if we do, we let the optimizer run again.
  • During inlining, we ensure the term being replaced and the replacement itself have unified types.
  • We make fixnum arithmetic optimized and unsafe.

Fix #1390

@stylewarning stylewarning force-pushed the propagate-like-crazy branch 14 times, most recently from cbc4d35 to e4efa8d Compare March 20, 2025 20:24
@stylewarning stylewarning force-pushed the propagate-like-crazy branch 5 times, most recently from 89e4295 to 4407e4b Compare March 24, 2025 16:03
@stylewarning stylewarning changed the title do several rounds of constant propagation and inlining allow several rounds of constant propagation and inlining Mar 24, 2025
@stylewarning stylewarning marked this pull request as ready for review March 24, 2025 16:07
Copy link
Collaborator

@YarinHeffes YarinHeffes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changes in logic in range-decreasing.

@stylewarning stylewarning force-pushed the propagate-like-crazy branch from 348b4c0 to 093f282 Compare March 26, 2025 17:59
@stylewarning stylewarning changed the title allow several rounds of constant propagation and inlining perform more aggressive optimization Mar 27, 2025
@stylewarning stylewarning force-pushed the propagate-like-crazy branch 3 times, most recently from 3d29911 to 79e5506 Compare March 27, 2025 04:05
@stylewarning stylewarning force-pushed the propagate-like-crazy branch from 79e5506 to 34c49f3 Compare March 27, 2025 04:29
@stylewarning stylewarning marked this pull request as ready for review March 27, 2025 04:31
@stylewarning stylewarning merged commit 1e0d061 into main Mar 28, 2025
25 checks passed
@stylewarning stylewarning deleted the propagate-like-crazy branch March 28, 2025 19:50
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.

Some specialized class instances are not inlined properly.
2 participants