-
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
BE-269: HashQL: Move PreInline out into Canonicalization pass #8239
Conversation
PR SummaryCentralizes MIR canonicalization logic and streamlines pre-inlining.
Written by Cursor Bugbot for commit 0fd9d8f. 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.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #8239 +/- ##
==========================================
+ Coverage 59.72% 59.74% +0.01%
==========================================
Files 1214 1215 +1
Lines 115245 115312 +67
Branches 5062 5066 +4
==========================================
+ Hits 68832 68894 +62
- Misses 45611 45615 +4
- Partials 802 803 +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:
|
73f6abd to
e6d0bdc
Compare
570512b to
1120ba1
Compare
1120ba1 to
17bacd7
Compare
e6d0bdc to
5c164f4
Compare
17bacd7 to
4df23e6
Compare
5c164f4 to
1ac5573
Compare
1ac5573 to
0312fee
Compare
4df23e6 to
bdb020e
Compare
0312fee to
0fd9d8f
Compare

🌟 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