-
Notifications
You must be signed in to change notification settings - Fork 110
BE-269: HashQL: Move PreInline out into Canonicalization pass #8239
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-268-hashql-rename-preinlining-to-preinline
Are you sure you want to change the base?
Conversation
PR SummaryIntroduces a reusable MIR canonicalization driver and refactors pre-inlining to use it, plus small infrastructure and perf tweaks.
Written by Cursor Bugbot for commit 0a15246. This will update automatically on new commits. Configure here. |
76ea4a0 to
b3793a2
Compare
🤖 Augment PR SummarySummary: Refactors the HashQL MIR optimization pipeline by extracting the canonicalization fixpoint logic into a reusable pass. Changes:
Technical Notes: Canonicalization runs a pre-pass (CP+CFG) and then iterates AR → IS → (FS/CP) → DSE → CFG until fixpoint or 🤖 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.
CodSpeed Performance ReportMerging #8239 will not alter performanceComparing Summary
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-268-hashql-rename-preinlining-to-preinline #8239 +/- ##
====================================================================================
+ Coverage 64.94% 64.96% +0.01%
====================================================================================
Files 735 736 +1
Lines 62982 63019 +37
Branches 3677 3680 +3
====================================================================================
+ Hits 40906 40939 +33
- Misses 21597 21600 +3
- Partials 479 480 +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:
|

🌟 What is the purpose of this PR?
This PR refactors the MIR optimization pipeline by extracting the canonicalization logic from
PreInlineinto a reusableCanonicalizationpass. This improves code organization and enables the same optimization sequence to be used in multiple contexts.🔍 What does this change?
PreInlineinto a newCanonicalizationpassPreInlinea thin wrapper aroundCanonicalizationwith pre-inlining specific configurationChangedenum's implementation with optimized bitwise operationsoverlaymethod toGlobalTransformStateto combine results from multiple passeschanged_bitorfunctionalityPre-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:
🛡 What tests cover this?
changed_bitorfunctionality