| 7674c012 |
Require unsafe context for slice pointer access |
Alexis Sellier |
|
| d9d9db3e |
Bootstrap the compiler with scoped unsafe blocks |
Alexis Sellier |
|
| 333d76bb |
Mark debug serialization unsafe for self-hosting |
Alexis Sellier |
|
| e5805fe5 |
Support scoped unsafe statement blocks |
Alexis Sellier |
|
| a1fd8da6 |
Require unsafe functions to mutate slice headers |
Alexis Sellier |
|
| d3cc6c5f |
Require unsafe functions for explicit slice construction |
Alexis Sellier |
|
| ceaf9422 |
Require unsafe functions for storage reinterpretation casts |
Alexis Sellier |
|
| 5807f724 |
Require unsafe functions for pointer arithmetic |
Alexis Sellier |
|
| a9d3b2cf |
Restrict safe pointers to permanent storage |
Alexis Sellier |
|
| 55e5d92e |
vim: Add `w64` to RIL syntax |
Alexis Sellier |
|
| 9a9ad076 |
rv64: Skip zero chunks in wide immediates |
Alexis Sellier |
|
| 587e7cb3 |
resolver: Borrow ownership branch inputs |
Alexis Sellier |
|
| 6436757e |
resolver: Share executable body checking |
Alexis Sellier |
|
| a7f15291 |
lower: Share constant slice data insertion |
Alexis Sellier |
|
| 625eabb9 |
regalloc: Count excess callee registers once |
Alexis Sellier |
|
| e0c7ad6c |
il: Print numbers without arena allocations |
Alexis Sellier |
|
| d3a86b21 |
resolver: Initialize active ownership state |
Alexis Sellier |
|
| 76d18fbc |
lookup: Borrow keyword and dictionary entries |
Alexis Sellier |
|
| a7dcdcfb |
module: Consolidate directory prefix scanning |
Alexis Sellier |
|
| 45c563a2 |
lower: Avoid redundant constant array layouts |
Alexis Sellier |
|
| ecdf6a84 |
lower: Reuse pending block parameter state |
Alexis Sellier |
|
| 95ea08b1 |
regalloc: Index last operand uses per block |
Alexis Sellier |
|
| 7c9a7f91 |
rv64: Preserve FP only for dynamic frames |
Alexis Sellier |
|
| 2c74c0a9 |
regalloc: Grow liveness sets monotonically |
Alexis Sellier |
|
| 02871810 |
regalloc: Rebuild mappings from live-in values |
Alexis Sellier |
|
| 6d57411c |
Add `CONTRIBUTING` guide |
Alexis Sellier |
|
| b6abab36 |
lang: Rename Linear marker to Once |
Alexis Sellier |
|
| 702b8915 |
lang: Make composites affine by default |
Alexis Sellier |
|
| 1e2fdea9 |
test: Exercise linear type syntax |
Alexis Sellier |
|
| 68c6e83a |
lang: Lower linear references |
Alexis Sellier |
|
| d45ecf68 |
lang: Prepare linear ownership |
Alexis Sellier |
|
| 8ed9e8cc |
lang: Parse linear and pointer types |
Alexis Sellier |
|
| 6bcd1af1 |
Expose memory ordering to safe code |
Alexis Sellier |
|
| b58290fa |
Encode full memory fences |
Alexis Sellier |
|
| c50805e1 |
lang: Simplify compiler |
Alexis Sellier |
|
| a6544dc6 |
lang: Parse subscripts in normal context |
Alexis Sellier |
|
| 8bbc22f3 |
lang: Parse array elements in normal context |
Alexis Sellier |
|
| 0268ebd6 |
lang: Infer literal-first comparison types |
Alexis Sellier |
|
| 94e18aa5 |
lang: Treat optional wildcards as exhaustive |
Alexis Sellier |
|
| 168352d2 |
lang: Preserve folded shift count signs |
Alexis Sellier |
|
| 30590736 |
rv64: Canonicalize subword divisors |
Alexis Sellier |
|
| 261f5d9f |
lang: Fold signed right shifts arithmetically |
Alexis Sellier |
|
| deffec0a |
lang: Mask folded shift counts by width |
Alexis Sellier |
|
| 98956983 |
bitset: Compare common words directly |
Alexis Sellier |
|
| b9413ac4 |
regalloc: Fuse mapping lookup and removal |
Alexis Sellier |
|
| 151d50c0 |
regalloc: Avoid rescanning current operands |
Alexis Sellier |
|
| 64c08de4 |
mem: Short-circuit identical slices |
Alexis Sellier |
|
| 69f92d23 |
scanner: Avoid recomputing consumed index |
Alexis Sellier |
|
| 438a079f |
lang: Fold unsigned division as unsigned |
Alexis Sellier |
|
| ce82565a |
lang: Compare folded unsigned integers correctly |
Alexis Sellier |
|