-
Notifications
You must be signed in to change notification settings - Fork 110
BE-266: HashQL: Implement PreInlining pass for MIR optimization #8233
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
base: bm/be-265-hashql-track-locals-inside-of-copy-propagation
Are you sure you want to change the base?
Conversation
PR SummaryIntroduces a pre-inlining optimization driver and supporting infrastructure, and wires it into tests and tooling.
Written by Cursor Bugbot for commit 85aff24. This will update automatically on new commits. Configure here. |
🤖 Augment PR SummarySummary: Introduces a new MIR optimization driver pass ( Changes:
Technical notes: 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libs/@local/hashql/compiletest/src/suite/mir_pass_transform_pre_inlining.rs
Outdated
Show resolved
Hide resolved
libs/@local/hashql/compiletest/src/suite/mir_pass_transform_pre_inlining.rs
Show resolved
Hide resolved
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-265-hashql-track-locals-inside-of-copy-propagation #8233 +/- ##
============================================================================================
+ Coverage 59.81% 59.87% +0.06%
============================================================================================
Files 1066 1067 +1
Lines 106239 106408 +169
Branches 4472 4479 +7
============================================================================================
+ Hits 63545 63710 +165
- Misses 41956 41961 +5
+ Partials 738 737 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
CodSpeed Performance ReportMerging #8233 will degrade performance by 47.86%Comparing Summary
Benchmarks breakdown
|

🌟 What is the purpose of this PR?
Add a new
PreInliningoptimization pass that runs a sequence of transformations to prepare MIR bodies for inlining. This pass orchestrates multiple optimizations in a fixpoint loop to ensure code is maximally simplified before inlining occurs.🔍 What does this change?
PreInliningpass that runs a carefully ordered sequence of optimizations:GlobalTransformStateto track per-body changes during global transformationsAdministrativeReductionto use the new state tracking mechanism🛡 What tests cover this?
❓ How to test this?
cargo test -p hashql_mircargo test -p hashql_compiletest -- mir/pass/transform/pre-inliningPre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR: