BE-304: HashQL: Terminator placement based on capabilities#8359
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
PR SummaryMedium Risk Overview Refactors execution-related code out of Written by Cursor Bugbot for commit 9a0ea84. This will update automatically on new commits. Configure here. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## bm/be-303-hashql-split-basic-blocks-depending-on-largest-available #8359 +/- ##
======================================================================================================
+ Coverage 83.87% 84.09% +0.22%
======================================================================================================
Files 344 346 +2
Lines 50913 51637 +724
Branches 1308 1319 +11
======================================================================================================
+ Hits 42701 43423 +722
+ Misses 7746 7744 -2
- Partials 466 470 +4
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:
|
🤖 Augment PR SummarySummary: Adds terminator-edge backend transition planning to the HashQL MIR execution planner.
🤖 Was this summary useful? React with 👍 or 👎 |
Merging this PR will not alter performance
Comparing Footnotes
|
c04d28b to
49dcd92
Compare
613ef47 to
77f0621
Compare
49dcd92 to
76697d7
Compare
77f0621 to
02e1336
Compare
02e1336 to
ef6aeec
Compare
76697d7 to
4298d22
Compare
4298d22 to
9a0ea84
Compare
ef6aeec to
cf5e803
Compare
Your organization requires reapproval when changes are made, so Graphite has dismissed approvals. See the output of git range-diff at https://github.com/hashintel/hash/actions/runs/21756355054

🌟 What is the purpose of this PR?
Adds terminator placement analysis to the MIR execution planning pipeline. This complements statement placement by analyzing control flow edges rather than individual statements, determining which backend transitions are valid at each edge and their associated transfer costs.
🔍 What does this change?
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
📜 Does this require a change to the docs?
🕸️ Does this require a change to the Turbo Graph?
🛡 What tests cover this?
New unit tests in terminator_placement/tests.rs covering loops, self-loops, SwitchInt, GraphRead, and Postgres restrictions
Snapshot test for terminator placement output
❓ How to test this?
cargo nextest run --package hashql-mir terminator_placement