-
Notifications
You must be signed in to change notification settings - Fork 110
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 optimization and removes duplicated logic.
Written by Cursor Bugbot for commit 09dc1b6. This will update automatically on new commits. Configure here. |
CodSpeed Performance ReportMerging #8207 will not alter performanceComparing Summary
Footnotes |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-231-hashql-peephole-optimization #8207 +/- ##
==========================================================================
+ Coverage 59.01% 59.27% +0.25%
==========================================================================
Files 1187 1191 +4
Lines 112499 113436 +937
Branches 4939 4982 +43
==========================================================================
+ Hits 66392 67234 +842
- Misses 45349 45426 +77
- Partials 758 776 +18
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
049e36c to
09dc1b6
Compare
08246f0 to
7b8639a
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: