-
Notifications
You must be signed in to change notification settings - Fork 2
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
add a higher-level IL to use as a target for source2il
#21
Commits on Aug 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for eebf4b2 - Browse repository at this point
Copy the full SHA eebf4b2View commit details -
tests: add a test suite for
pass10
It covers everything relevant to the lowering pass (unless I missed something). The output uses a shorter formatting that doesn't match what `pretty` produces -- a separate change for supporting S-expr normalization in the tester will be necessary.
Configuration menu - View commit details
-
Copy full SHA for 7375fb5 - Browse repository at this point
Copy the full SHA 7375fb5View commit details -
implement the lowering pass for
L10
->L4
It's fully functional (according to the test suite), though not very optimized, both in terms of output it produces and how it does so.
Configuration menu - View commit details
-
Copy full SHA for 2043f3a - Browse repository at this point
Copy the full SHA 2043f3aView commit details -
tests: add the test runner for
pass10
It's a run-of-the-mill test runner. Given the repetition, common parts of the test runners should move into a separate module at one point.
Configuration menu - View commit details
-
Copy full SHA for 4726985 - Browse repository at this point
Copy the full SHA 4726985View commit details -
tests: temporarily disable
t01_loop
The necessary runner support for disabling execution is still missing, and the test would only result in an infinite loop.
Configuration menu - View commit details
-
Copy full SHA for f94756a - Browse repository at this point
Copy the full SHA f94756aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 070cecd - Browse repository at this point
Copy the full SHA 070cecdView commit details
Commits on Aug 31, 2024
-
pass10: refactor implicit argument handling
The result stays the same, but how one gets there changes. There are no "implicit parameter", only "implicit arguments". Attaching the implicitness to the callee (i.e., target block) rather than the caller (i.e., block exit) precludes some future optimizations, such as merging basic blocks, in addition to just being wrong conceptually.
Configuration menu - View commit details
-
Copy full SHA for 600a43a - Browse repository at this point
Copy the full SHA 600a43aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 697f00f - Browse repository at this point
Copy the full SHA 697f00fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a25efd - Browse repository at this point
Copy the full SHA 2a25efdView commit details -
pass10: more efficient loop handling
Only loops are iterated twice now, greatly reducing the time the pass takes when there are no loops. Further optimizations are possible, such as not following the back edge when there are no changes, but are not implemented yet. The documentation is also improved a bit.
Configuration menu - View commit details
-
Copy full SHA for 0dd9786 - Browse repository at this point
Copy the full SHA 0dd9786View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa8d3db - Browse repository at this point
Copy the full SHA fa8d3dbView commit details -
pass10: fix infinite loop in
lowerProc
A single-block `Loop` resulted in the forward propagation pass getting stuck.
Configuration menu - View commit details
-
Copy full SHA for f15dd16 - Browse repository at this point
Copy the full SHA f15dd16View commit details -
tests: make
t01_loop
andt01_unreachable
workableThe test runner now supports the `--compileOnly` argument, which disables validation and execution of the produced VM bytecode.
Configuration menu - View commit details
-
Copy full SHA for 4967801 - Browse repository at this point
Copy the full SHA 4967801View commit details -
tests: correct the
t01_loop
expected outputIt didn't reflect reality.
Configuration menu - View commit details
-
Copy full SHA for 7fc9848 - Browse repository at this point
Copy the full SHA 7fc9848View commit details
Commits on Sep 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ede3667 - Browse repository at this point
Copy the full SHA ede3667View commit details -
tests: mark
pass10
test output as being S-expressionsThis fixes the test failures.
Configuration menu - View commit details
-
Copy full SHA for 2b25c0f - Browse repository at this point
Copy the full SHA 2b25c0fView commit details -
pass10: improve pinned local handling
Pinned locals are now only passed through to blocks/continuations that perform an indirect memory access.
Configuration menu - View commit details
-
Copy full SHA for 809a38d - Browse repository at this point
Copy the full SHA 809a38dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 17ff245 - Browse repository at this point
Copy the full SHA 17ff245View commit details -
pass10: implement procedure parameter handling
Procedure parameters must unconditionally be registered with the first basic block.
Configuration menu - View commit details
-
Copy full SHA for 07baf9c - Browse repository at this point
Copy the full SHA 07baf9cView commit details -
pass10/runner: don't fail on VM errors
Some of the pinned local tests trigger an illegal access error at run- time, which is fine.
Configuration menu - View commit details
-
Copy full SHA for 2b2d10b - Browse repository at this point
Copy the full SHA 2b2d10bView commit details -
pass10: rename
disabled
topinned
The new name more accurately describes which locals the set contains.
Configuration menu - View commit details
-
Copy full SHA for 12bdbf0 - Browse repository at this point
Copy the full SHA 12bdbf0View commit details -
Some `.expected` files were not marked as storing S-expressions.
Configuration menu - View commit details
-
Copy full SHA for ddc04de - Browse repository at this point
Copy the full SHA ddc04deView commit details
Commits on Sep 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e280798 - Browse repository at this point
Copy the full SHA e280798View commit details -
Configuration menu - View commit details
-
Copy full SHA for 043964f - Browse repository at this point
Copy the full SHA 043964fView commit details
Commits on Sep 5, 2024
-
Co-authored-by: Saem Ghani <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 10ef070 - Browse repository at this point
Copy the full SHA 10ef070View commit details