-
Notifications
You must be signed in to change notification settings - Fork 53
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
Try out lowered IR validation. #331
base: master
Are you sure you want to change the base?
Conversation
The errors also aren't particularly nice...
At the least we'd need a valid stack trace. Maybe we should drop some marker that's easy to pick up during LLVM IR validation? Seems hacky though. |
We can do a little better:
I wonder if dropping an error marker and picking it up during codegen is more 'true' to the original runtime semantics of errors (because at least we'd be able to reconstruct more of the backtrace). But the IR isn't trivial to rewrite (to insert an error marker) at that point. |
0efa8cc
to
53b8f95
Compare
53b8f95
to
c2c8a59
Compare
I normally for arguing about turning these into runtime errors but the current workflow is a bit painful and requires a restart to get the actual error. |
We can move towards run-time errors, but:
|
I use the Cassette tooling for that, but we would need to pull that out. Unsure what IRTools has these days |
I'm also not convinced we want to move to runtime errors for everything... |
Codecov Report
@@ Coverage Diff @@
## master #331 +/- ##
==========================================
- Coverage 85.63% 83.91% -1.73%
==========================================
Files 23 23
Lines 2353 2281 -72
==========================================
- Hits 2015 1914 -101
- Misses 338 367 +29
Continue to review full report at Codecov.
|
1d233d7
to
e18b7c2
Compare
Trying out the integration from #311 to at least validate lowered IR and, e.g., find references to non-const globals.