Commit graph

612 commits

Author SHA1 Message Date
Folkert de Vries
8e5efe67b4
Merge pull request #4912 from roc-lang/remove-polymorphic-expression-compilation
Rip out polymorphic expression compilation
2023-01-24 21:35:08 +01:00
Brian Carroll
ac45fa2bba
Merge pull request #4683 from roc-lang/gen-wasm-shr-128
gen_wasm: Implement u128 right shift by delegating to compiler_rt
2023-01-24 00:36:27 +00:00
Brian Carroll
28d6d000ec
gen_wasm: Implement u128 right shift by delegating to compiler_rt 2023-01-23 22:07:40 +00:00
Ayaz Hafiz
36f8ed6478
Rip out polymorphic expression compilation
We no longer need this except for number literals, which are simple to
handle.
2023-01-21 12:37:09 -06:00
Ahmad Sattar
312997f1c6
Add List.withCapacity implementation for x86
Uses the zig builtin `listWithCapacity`
2023-01-21 15:57:10 +01:00
Folkert de Vries
04449c3a0c
Merge pull request #4910 from roc-lang/weakening-6
Add some regression tests for problems weakening solves
2023-01-21 00:14:49 +01:00
Ahmad Sattar
be445f6f11
Enable more List.len tests for gen-dev 2023-01-20 00:45:38 +01:00
Folkert de Vries
810e05cd9a
Merge pull request #4922 from thehabbos007/asa/numgt
gen_dev: fix signed/unsigned `less than` and add signed/unsigned `greater than`
2023-01-19 20:49:06 +01:00
Ahmad Sattar
bbd4c9886c
Add NumSubWrap as a NumSub copy 2023-01-19 09:19:20 +01:00
Ayaz Hafiz
9a4e4f25c2
Add regression tests for #4772
Closes #4772
2023-01-18 18:11:57 -06:00
Ahmad Sattar
6670a5d205
Add greater than comparison 2023-01-18 20:26:45 +01:00
Ahmad Sattar
3683e9d436
Fix up less than comparison 2023-01-18 20:26:45 +01:00
Ayaz Hafiz
59eb980fb2
Fix gen tests 2023-01-18 10:14:19 -06:00
Ayaz
ed7123ed5b
Merge pull request #4887 from roc-lang/weakening-5
Finish weakening let-bindings
2023-01-17 12:47:12 -06:00
Ayaz Hafiz
ec8c6bdfc5
Add gen tests for #4734
Closes #4734
2023-01-16 12:45:09 -06:00
Ayaz Hafiz
3109b2b00f
Store args/return layout in the lambda set specialization layout 2023-01-16 12:45:08 -06:00
Ayaz Hafiz
58081ada19
Weaken aliased variable names 2023-01-16 10:49:17 -06:00
Ayaz Hafiz
52c2f3a054
Weaken zero-argument tags in let bindings 2023-01-16 10:49:16 -06:00
Ayaz Hafiz
3d0a0a4a99
Update more dict/set references 2023-01-14 15:33:54 +01:00
Folkert de Vries
e3a213c0dc
Merge pull request #4882 from roc-lang/weakening-3
Begin weakening let-bindings to non-function, non-number expressions
2023-01-14 15:32:27 +01:00
Richard Feldman
41a7304e77
Merge pull request #4854 from roc-lang/intern-layouts-6
Intern all the layouts
2023-01-12 15:45:14 -05:00
Ayaz Hafiz
04cf7e070d
Weaken let-bindings to if expressions 2023-01-12 10:02:21 -06:00
Ayaz Hafiz
39b6a509eb
Fix gen test with list 2023-01-12 10:02:21 -06:00
Ayaz Hafiz
b2cdddbdfb
Weaken lists 2023-01-12 10:02:20 -06:00
Ayaz Hafiz
d4b60052b0
Update gen wasm tests 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
52c16d2f35
Fix layout ref in gen tags 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
e14a0abb99
Store target info on layout interners 2023-01-11 14:32:16 -06:00
Folkert
cf15654ee5
implement standard as patterns in mono IR 2023-01-11 14:18:13 +01:00
Ayaz Hafiz
066bc7d953
Make sure to bump index of nullable-wrapped tag indices after null variants
Fixes a bug in ref-counting.
2023-01-10 10:01:50 -06:00
Ayaz Hafiz
b2688dd3b1
Skip nullable ID in nullable wrapped tags when iterating 2023-01-09 11:54:51 -06:00
Ayaz Hafiz
ec7ee375d3
Fix import in wasm gen 2022-12-29 18:45:01 -06:00
Ayaz Hafiz
321ac0b06f
s/CapturesNiche/Captures 2022-12-29 18:43:45 -06:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche 2022-12-29 18:43:26 -06:00
Ayaz
ea53a50447
Merge pull request #4836 from roc-lang/intern-layouts-2
Intern list element layouts and thread mut layout interner through LLVM backend
2022-12-29 18:41:35 -06:00
Ayaz
7076c889a5
Merge pull request #4828 from roc-lang/refactor-build
Refactor build
2022-12-29 18:41:22 -06:00
Ayaz
858670fac7
Merge pull request #4833 from roc-lang/intern-layouts
Intern all the layouts
2022-12-29 18:28:44 -06:00
Ayaz Hafiz
a9b02aed5e
Add gen test for nullable wrapped with singleton other tags 2022-12-29 12:22:50 -06:00
Ayaz Hafiz
759f8d86af
Fix lifetime errors due to interner
In the llvm backend, there are the lifetimes `'a` (lifetime of the
global arena) and `'ctx` (lifetime of constructed LLVM values). `'a`
lives longer than `'ctx`, but the compiler didn't enforce this until
the layout interner was introduced, for some reason. We have to make
sure that containers of lifetime `'a` have no `'ctx` references.
2022-12-29 11:38:34 -06:00
Folkert
aca8d98ad9
fix dev test compilation 2022-12-29 16:50:22 +01:00
Folkert
23b52894cc
fix test 2022-12-29 16:50:21 +01:00
Folkert
26e5ac85d4
remove argument from the from_str functions 2022-12-29 16:50:19 +01:00
Ayaz Hafiz
f2a42affd1
Fix wasm module 2022-12-29 08:18:06 -06:00
Ayaz Hafiz
650d3e6321
Fix gen dev 2022-12-29 08:14:35 -06:00
Ayaz Hafiz
fbfc429bc5
Add gen-test for #4732 2022-12-25 16:55:59 -06:00
Folkert
acf22ebf7e
fix 32-bit wasm to num conversion 2022-12-20 16:34:24 +01:00
Brian Carroll
4d5b7f8b73
wasm_interp: add a WasmModule to Instance so we don't have to pass it to call_export 2022-12-16 14:52:10 +00:00
Brian Carroll
86a82f8576
test_gen: disable roc_wasm_interp logging 2022-12-16 14:52:10 +00:00
Brian Carroll
b73e022336
test_gen: update WasiDispatcher 2022-12-16 14:52:10 +00:00
Brian Carroll
d389601035
Merge branch 'main' of github.com:roc-lang/roc into wasm_interp_test_gen 2022-12-16 14:50:09 +00:00
Ayaz Hafiz
c327189ab7
Remove unneeded whitespace 2022-12-14 17:14:44 -06:00