Commit Graph

612 Commits

Author SHA1 Message Date
Ayaz Hafiz
0f0e56a21c
Deal with fastcc return-by-pointer convention correctly
Closes #2582
2022-04-04 16:33:01 -04:00
Folkert
68536e4026
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-04-04 19:55:04 +02:00
Folkert
1e397e950d
changes after review 2022-04-04 19:53:33 +02:00
Brendan Hansknecht
19c02aa087
Merge pull request #2789 from rtfeldman/atomic-rc
Use zig for all refcounts and add atomic support
2022-04-03 22:23:28 +00:00
Brendan Hansknecht
eea8eeb1b6 clippy 2022-04-01 15:14:30 -07:00
Brendan Hansknecht
577282ced3 have zig allocate all refcounts 2022-04-01 14:06:28 -07:00
Brendan Hansknecht
ef49d5714b change incref to use the zig builtin 2022-04-01 13:41:46 -07:00
Folkert
426aa13e13
fix merge error 2022-03-31 21:09:55 +02:00
Folkert
2c8d58329c
formatting 2022-03-31 19:42:43 +02:00
Folkert
0dd2cec09a
update with new clippy lints 2022-03-31 19:34:51 +02:00
Folkert
f9f3a255a9
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-31 19:19:36 +02:00
Folkert
61aeaefc76
a start with 32-bit linux support 2022-03-30 23:55:34 +02:00
Folkert
108f2142ba
clippy 2022-03-30 19:23:51 +02:00
Folkert
786246f427
when doing a memcpy, don't take alignment into account 2022-03-30 19:20:53 +02:00
Folkert
e13ea55004
use roc_load_value to move a value to the stack 2022-03-30 19:16:10 +02:00
Folkert
49f624a27a
use store_roc_value when inserting into dict 2022-03-30 19:15:39 +02:00
Folkert
85bf881b3b
make Dict.keys and Dict.values use list helpers for returning 2022-03-30 19:14:52 +02:00
Folkert
4426f5793b
rename a function 2022-03-30 19:08:09 +02:00
Folkert
972c5d78d3
use roc_ helpers for box loading and storing 2022-03-30 19:07:55 +02:00
Folkert
59a2253b9a
rework how tags are created 2022-03-30 19:07:40 +02:00
Folkert
3cc96e76dc
preparation for using argument_type_from_layout 2022-03-30 19:07:20 +02:00
Folkert
94b5abf2ce
fix spelling 2022-03-30 17:43:11 +02:00
Folkert
8eff983e53
clippy 2022-03-30 17:37:06 +02:00
Folkert
1b29aa3e43
when doing a memcpy, don't take alignment into account 2022-03-30 17:33:43 +02:00
Folkert
20104a1159
propagate attributes from builtins to call sites 2022-03-30 17:32:48 +02:00
Folkert
fd209f90ff
fix bug where incorrect stack size is given 2022-03-30 17:25:28 +02:00
Folkert
c73c01aa34
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-30 14:07:17 +02:00
Folkert
14accf4589
clippy 2022-03-27 16:22:46 +02:00
Folkert
13ab2010f0
patch List.countGraphemes and List.isEmpty with the byval() attribute 2022-03-27 16:20:46 +02:00
Folkert
dd84517f5f
revert to older constant string approach 2022-03-26 20:59:18 +01:00
Folkert
97b64a90a4
hacky fix to make llvm + standard linker work 2022-03-26 19:05:28 +01:00
Folkert
47cb6d9621
clippy 2022-03-26 18:53:21 +01:00
Folkert
79dfd23513
stop zeroing out alloca's 2022-03-26 18:51:54 +01:00
Folkert
75ab8afc2b
remove optimization when values move between pointers, it was unsound (see comment in source) 2022-03-26 18:50:56 +01:00
Folkert
e6ae01384f
fix applied_tag_function_linked_list 2022-03-26 18:40:51 +01:00
Folkert
fed73c1489
fix string hash 2022-03-26 18:31:49 +01:00
Folkert
b146a2cf5f
fix string equality 2022-03-26 18:29:46 +01:00
Folkert
8e1e709fc1
pass all string tests 2022-03-26 18:25:20 +01:00
Folkert
8e6b1ff481
more string operations 2022-03-26 18:13:05 +01:00
Folkert
576e02ed85
Str.trim and friends 2022-03-26 18:03:53 +01:00
Folkert
57ff0e8212
step 2: Closure.roc works 2022-03-26 17:58:37 +01:00
Folkert
71c11784a0
step 1: Deriv works and has no valgrind problems 2022-03-26 17:56:56 +01:00
Folkert
baec1c2de3
use roc_load_value to move a value to the stack 2022-03-26 17:56:36 +01:00
Folkert
d669b8c894
preparation for using argument_type_from_layout 2022-03-26 14:20:59 +01:00
Folkert
84c6e741fe
rework how tags are created 2022-03-26 14:09:16 +01:00
Folkert
75c15f9b00
use roc_ helpers for box loading and storing 2022-03-26 13:10:18 +01:00
Folkert
0f3ae18c74
add debug print 2022-03-26 12:54:00 +01:00
Folkert
f132a527c0
rename a function 2022-03-26 12:52:13 +01:00
Folkert
18ba6316fb
clippy 2022-03-26 12:43:17 +01:00
Folkert
2c1879e3da
use store_roc_value when inserting into dict 2022-03-26 12:41:46 +01:00
Folkert
9528f63d87
make Dict.keys and Dict.values use list helpers for returning 2022-03-26 12:36:14 +01:00
Folkert
bff4e03867
store string literals (also the struct) as a const value 2022-03-26 12:31:03 +01:00
Folkert
877b9eab7a
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-23 17:33:58 +01:00
Jan Van Bruggen
7d95d2b576 Fix shift filling by flipping inkwell sign_extend flags
See https://thedan64.github.io/inkwell/inkwell/builder/struct.Builder.html#method.build_right_shift

Before:
```
» Num.shiftRightBy 1 -8

9223372036854775804 : Int *

» Num.shiftRightZfBy 1 -8

-4 : Int *
```

After:
```
» Num.shiftRightBy 1 -8

-4 : Int *

» Num.shiftRightZfBy 1 -8

9223372036854775804 : Int *
```
2022-03-20 21:39:39 -06:00
Folkert
4e1197165b
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc-delayed-alias 2022-03-18 21:25:52 +01:00
Folkert
6134e57921
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-18 18:13:55 +01:00
ayazhafiz
530fa9943a Generate unsigned div and modulo correctly
Closes #2705
2022-03-13 18:44:38 -05:00
Folkert
ec403958a3
cleanup 2022-03-13 00:12:57 +01:00
Folkert
8488390a9b
fix RocStr/RocList C argument passing 2022-03-13 00:12:47 +01:00
Folkert
d7a5cd7b11
some debugging niceties 2022-03-13 00:12:16 +01:00
Folkert
39792ccb93
accept output parameter as first argument 2022-03-13 00:11:57 +01:00
Folkert
f66b111c7a
create small strings with fewer instructions 2022-03-13 00:06:13 +01:00
Folkert
4e22ae57cd
make specific twice_ptr_width helper 2022-03-12 19:57:26 +01:00
Brian Carroll
456d8ff9cb Merge branch 'trunk' of github.com:rtfeldman/roc into list-str-capacity 2022-03-11 19:28:13 +00:00
Brendan Hansknecht
cdf19e3feb
Merge pull request #2698 from rtfeldman/i/2696
Make sure casting to unsigned types performs zero-extension
2022-03-10 20:10:33 -08:00
ayazhafiz
a90bba3d1d Make sure casting to unsigned types performs zero-extension
Closes #2696
2022-03-10 17:39:37 -06:00
Folkert
d222be95b3
fix another merge conflict 2022-03-10 21:38:31 +01:00
Folkert
be214b7931
fix merge conflict 2022-03-10 21:37:33 +01:00
Folkert
e90c12ba1f
Merge remote-tracking branch 'origin/trunk' into box-all-the-things 2022-03-10 18:01:09 +01:00
Folkert de Vries
7fc1272840
Merge pull request #2692 from rtfeldman/walk-return-tag
`List.walk` return tag
2022-03-10 10:12:42 +01:00
Folkert
f8ca0694e5
Revert "make type conversion work on 32-bit architectures"
This reverts commit 381ec9c01b.
2022-03-10 00:04:34 +01:00
Folkert
381ec9c01b
make type conversion work on 32-bit architectures 2022-03-09 23:10:07 +01:00
Folkert
de6349fbbd
don't double-alloca non-recursive tags 2022-03-09 22:54:56 +01:00
Folkert
29e053abf3
clarify basic_type_from_layout function 2022-03-09 19:01:03 +01:00
Folkert
5d15166bb5
rename 2022-03-09 16:33:36 +01:00
Folkert
768703c5df
update reporting; suggestions now have Box in scope 2022-03-09 16:12:11 +01:00
Folkert
07063a8e18
Merge remote-tracking branch 'origin/trunk' into list-str-capacity 2022-03-09 14:36:34 +01:00
Folkert
6543c9bbc6
Merge remote-tracking branch 'origin/trunk' into box-all-the-things 2022-03-09 00:00:15 +01:00
Folkert
831a90e310
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-08 22:36:06 +01:00
Folkert
4cca0b3b3c
llvm codegen 2022-03-08 22:21:03 +01:00
Folkert
92f2927046
initial implementation 2022-03-08 19:09:42 +01:00
Derek Gustafson
78cf0b8d2e
Fix fmt. 2022-03-07 15:49:09 -05:00
Derek Gustafson
ba6b225761
Hide RocDec implemntation details. 2022-03-07 15:34:02 -05:00
Folkert
b3b3b8790c
add new Expr variants 2022-03-07 21:13:48 +01:00
Folkert
3510bad1d5
add scaffolding 2022-03-07 20:55:40 +01:00
Folkert
adf4ad22a5
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-05 20:55:15 +01:00
Brian Carroll
f2adf71873 Move alias analysis to its own crate instead of roc_mono
Shrinks roc_repl_wasm by 400kB (~8%)
2022-03-04 14:50:02 +00:00
Folkert
bd31503855
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-02-28 18:55:20 +01:00
Brendan Hansknecht
2ca1ebdd2d appease the paperclip 2022-02-27 15:50:19 -08:00
Brendan Hansknecht
2e70bb8458 remove list set low level 2022-02-27 15:07:09 -08:00
Brendan Hansknecht
b802d681a3 Merge remote-tracking branch 'origin/trunk' into list-replace 2022-02-27 00:28:08 -08:00
Folkert
65b1b3fcce
just before Num 2022-02-26 23:11:40 +01:00
Richard Feldman
d57334dd63
Merge pull request #2566 from rtfeldman/gui-example
GUI Example
2022-02-26 07:48:38 -05:00
Brendan Hansknecht
39d070e543 flip platform flag to be default 2022-02-25 20:10:36 -08:00
Brendan Hansknecht
7c6c9b52a9 Merge remote-tracking branch 'origin/trunk' into list-replace 2022-02-25 07:35:00 -08:00
Richard Feldman
a49b66e379
Merge branch 'trunk' into gui-example 2022-02-25 08:22:36 -05:00
Brendan Hansknecht
116b585cdc add more tests 2022-02-24 22:59:47 -08:00
Brendan Hansknecht
badad1c1ad get basic tests passing 2022-02-24 22:50:28 -08:00
Brendan Hansknecht
889b189191 fix list passing 2022-02-24 22:46:50 -08:00
Brendan Hansknecht
aff962809b call ListReplace and generate struct afterwards 2022-02-24 22:33:36 -08:00