| 9f542472 |
Handle scoped access constants in lowerer |
Alexis Sellier |
|
| 51330bdd |
Ignore `.codex` and `.ai` |
Alexis Sellier |
|
| d3dd0b64 |
Update code to use `set` for assignment |
Alexis Sellier |
|
| 3b92f411 |
Create new seed from `4ef0a4c` |
Alexis Sellier |
|
| 4ef0a4c3 |
Add new `set` keyword |
Alexis Sellier |
|
| 05324b73 |
Update vim syntax file with new keywords |
Alexis Sellier |
|
| ad478740 |
Use `<>` instead of `!=` everywhere |
Alexis Sellier |
|
| c92591c9 |
Use `constant` instead of `const` |
Alexis Sellier |
|
| 52b9cccc |
Use `export` instead of `pub` |
Alexis Sellier |
|
| bfa128ab |
Remove use of `extern` keyword |
Alexis Sellier |
|
| 04bdcb9f |
Create new seed from `1c84fc2` |
Alexis Sellier |
|
| 1c84fc26 |
Add `constant` as an alias for `const` |
Alexis Sellier |
|
| c5321051 |
Make `extern` keyword redundant |
Alexis Sellier |
|
| e6e66a53 |
Support `export` as an alias for `pub` |
Alexis Sellier |
|
| 5712ca7c |
Support `<>` for non-equality |
Alexis Sellier |
|
| 41b8d492 |
Remove source-level `void` keyword |
Alexis Sellier |
|
| f08c3877 |
Remove source-level `void` uses from tests |
Alexis Sellier |
|
| d5d7f927 |
Deduplicate `isel` code |
Alexis Sellier |
|
| 043ee151 |
Use loop for large BLITs |
Alexis Sellier |
|
| ab23f64b |
Skip extension for zero immediates |
Alexis Sellier |
|
| 845f7ebb |
Skip redundant jump-to-epilogue |
Alexis Sellier |
|
| 60a9450d |
Use unlabeled records in more places |
Alexis Sellier |
|
| e291fc36 |
Move and refactor `Reg` type |
Alexis Sellier |
|
| eb28109d |
Create seed from `b82377e` |
Alexis Sellier |
|
| b82377ea |
Fix resolution of unlabeled records |
Alexis Sellier |
|
| 260e2e2f |
Use constant instead of magic number |
Alexis Sellier |
|
| 30d36e9f |
Implement deref for single-field unlabeled records |
Alexis Sellier |
|
| f0e50b22 |
Properly cleanup `bin/` folder |
Alexis Sellier |
|
| f1bc2ebd |
Fix a small instruction selection bug |
Alexis Sellier |
|
| 7bfd64dd |
Fix some long-standing tech debt |
Alexis Sellier |
|
| e0e2e01d |
Fix a bunch of disparate issues around integers |
Alexis Sellier |
|
| a1e8824d |
General code simplifications |
Alexis Sellier |
|
| 29fdb962 |
Add support for standalone methods |
Alexis Sellier |
|
| d91f35a2 |
Use expressions in constants, for clarity |
Alexis Sellier |
|
| 32bb87b2 |
Create seed from `f402634` |
Alexis Sellier |
|
| f4026342 |
Fix type resolution order |
Alexis Sellier |
|
| 359694c2 |
Improve flexibility of constant expressions |
Alexis Sellier |
|
| 62ca04d4 |
Support casting in constant expressions |
Alexis Sellier |
|
| 60ca87f0 |
Small code improvements |
Alexis Sellier |
|
| f5bdf05c |
Support constant folding |
Alexis Sellier |
|
| 19053951 |
Fix parser bug with speculative parsing |
Alexis Sellier |
|
| 3ca028fc |
Widen `ecall` intrinsic args |
Alexis Sellier |
|
| a0bdac6c |
Combine lowering and execution tests |
Alexis Sellier |
|
| 3df5cf97 |
Use `assert` instead of `panic` |
Alexis Sellier |
|
| 4579515f |
Optimize unconditional jumps |
Alexis Sellier |
|
| e5645fc3 |
Emit `RET` directly for leaf functions |
Alexis Sellier |
|
| d84d2c73 |
Optimize code generation for non-dynamic functions |
Alexis Sellier |
|
| 57e40912 |
Re-order `visit` match for better performance |
Alexis Sellier |
|
| 6d184f20 |
Skip frame allocation for leaf functions |
Alexis Sellier |
|
| d46af834 |
Optimize IL generation of loops |
Alexis Sellier |
|