-
-
Notifications
You must be signed in to change notification settings - Fork 45
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
Instruction based ematch compiler #241
base: ale/3.0
Are you sure you want to change the base?
Conversation
Nice! Just saw the error about |
It was a different problem; I just fixed it though! |
0b7da04
to
e8d5f3e
Compare
Now we have a new problem with lambda_theory again, and the behavior of What is the rational between sometimes returning an eclass and sometimes returning a constant? That seems pretty janky. |
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## ale/3.0 #241 +/- ##
===========================================
- Coverage 81.06% 78.08% -2.99%
===========================================
Files 19 19
Lines 1500 1524 +24
===========================================
- Hits 1216 1190 -26
- Misses 284 334 +50 ☔ View full report in Codecov by Sentry. |
Benchmark Results
Benchmark PlotsA plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR. |
@olynch I've updated the benchmark github CI action to compare against the target branch. This introduced a substantial slowdown, which is OK for a first prototype, but before merging I would make sure that there is no slowdown |
@0x0f0f0f are you sure that the slowdown is significant? Also, I believe that the compilation process could be slightly slower because it now has two stages instead of one. If it turns out to generate the same ematcher, and it's just that the compiler is slightly slower, is that acceptable? |
""" | ||
struct CheckVar <: Instruction | ||
addr::Address | ||
predicate::Union{Function, Type} |
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.
type parameter?
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.
What do you mean?
Yes, this is quite tricky and probably leads to bugs that are hard to detect. I believe the problem already exists in |
I left a comment there. |
A resurrection of #233 with a local branch so CI can run properly.