-
Notifications
You must be signed in to change notification settings - Fork 109
BE-255: HashQL: Implement Copy Propagation (CP) pass for MIR #8207
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-231-hashql-peephole-optimization
Are you sure you want to change the base?
BE-255: HashQL: Implement Copy Propagation (CP) pass for MIR #8207
Conversation
PR SummaryAdds a new MIR optimization and centralizes block-parameter constant propagation logic.
Written by Cursor Bugbot for commit 049e36c. This will update automatically on new commits. Configure here. |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
CodSpeed Performance ReportMerging #8207 will not alter performanceComparing Summary
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-231-hashql-peephole-optimization #8207 +/- ##
==========================================================================
+ Coverage 59.03% 59.14% +0.11%
==========================================================================
Files 1195 1197 +2
Lines 113298 113673 +375
Branches 5046 5056 +10
==========================================================================
+ Hits 66880 67234 +354
- Misses 45644 45663 +19
- Partials 774 776 +2
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:
|
894a7e2 to
08246f0
Compare
0c57079 to
049e36c
Compare

🌟 What is the purpose of this PR?
This PR adds a new Copy Propagation optimization pass to the MIR compiler. The pass identifies when local variables hold constant values and replaces uses of those locals with the constants directly, this is used after InstSimplify, to enable efficient fix point iteration.
🔍 What does this change?
CopyPropagationtransform pass that propagates constant values through the MIRas_place()andas_constant()onOperandfor easier pattern matchingPre-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?
cp/tests.rscovering various scenarios: