-
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
BE-266: HashQL: Implement PreInlining pass for MIR optimization #8233
Conversation
PR SummaryIntroduces a new global MIR optimization driver and supporting infra, and wires it into tests/benchmarks.
Written by Cursor Bugbot for commit 3e0b23b. 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 80.94% 81.20% +0.26%
============================================================================================
Files 81 82 +1
Lines 10575 10744 +169
Branches 276 283 +7
============================================================================================
+ Hits 8560 8725 +165
- Misses 1907 1912 +5
+ Partials 108 107 -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:
|
Merging this PR will degrade performance by 47.92%
Performance Changes
Comparing |
libs/@local/hashql/compiletest/src/suite/mir_pass_transform_pre_inlining.rs
Show resolved
Hide resolved
720ee51 to
3230801
Compare
3230801 to
cf2afea
Compare
5bb7948 to
dd0c9b9
Compare
cf2afea to
a941112
Compare
dd0c9b9 to
a300008
Compare
a941112 to
3e0b23b
Compare
a300008 to
4a6d675
Compare
Merge activity
|

🌟 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: