Commit graph

4637 commits

Author SHA1 Message Date
Folkert
1d7ca32101 passing tests! 2021-05-20 22:43:55 +02:00
Folkert
910a7e5113 fix bug where results of top-level thunks are not RC'd 2021-05-20 22:39:14 +02:00
Folkert
6347b64af7 enable perceus stuff 2021-05-20 21:22:13 +02:00
Folkert
083f8275bf update morphic 2021-05-19 22:51:33 +02:00
Folkert
8f55706d5d fix list gen tests 2021-05-19 22:45:30 +02:00
Folkert
f3199ed2a7 work on dicts 2021-05-19 22:32:31 +02:00
Folkert
d01d539d6b first pass for List.keep 2021-05-19 21:30:43 +02:00
Folkert
e3b102e0c3 fix List.map3 2021-05-19 16:41:12 +02:00
Folkert
d2b0ecdd04 fix List.map2 2021-05-19 16:07:50 +02:00
Folkert
87b9f866d3 WIP fixing the borrowing in HOFs 2021-05-19 15:28:20 +02:00
tarjei
f45d89270b Implement basic List.drop that satisfies tests
Issues with uniqueness and copying which leaks memory obviously needs to be fixed.
2021-05-18 22:59:55 +02:00
Folkert
653d745dc5 fix closure RC increments 2021-05-18 21:35:21 +02:00
Folkert
c5bb041edd fix closure RC increments 2021-05-18 21:35:02 +02:00
Folkert
04968d6394 fix closure RC increments 2021-05-18 21:34:37 +02:00
Folkert
184c71d669 implement RC 2021-05-18 20:53:50 +02:00
Eric Henry
d34f984169 Starting to add no arg tag union 2021-05-17 17:07:19 -04:00
Folkert
925355eb4e use add_unknown_with 2021-05-17 19:51:46 +02:00
Folkert
c5bd06db66 Merge remote-tracking branch 'origin/trunk' into morphic-lib 2021-05-17 19:32:58 +02:00
Folkert
8dddf952a8 WIP List.map + RC'd closure troubles 2021-05-17 19:31:52 +02:00
Richard Feldman
b3758727e5
Merge branch 'trunk' into gen-dev/div-i64 2021-05-17 00:04:14 -04:00
Richard Feldman
bc4ba31ed2
Merge pull request #1312 from rtfeldman/gen_dev_num_abs_float
Dev Backend Num.abs on f64
2021-05-17 00:04:02 -04:00
Richard Feldman
74ed66524d
Merge branch 'trunk' into gen-dev/div-i64 2021-05-16 23:32:28 -04:00
rvcas
0cd454f21a test: Num.abs for f64 in the dev backend 2021-05-16 19:22:55 -04:00
rvcas
a263f1eac3 test: andpd_freg64_freg64 X86 2021-05-16 19:20:38 -04:00
rvcas
db11453327 feat(gen_dev): implement abs_freg64_freg64 for X86 2021-05-16 19:19:46 -04:00
rvcas
d1cf968c9b feat(gen_dev): stub abs_freg64_freg64 for arm 64 2021-05-16 19:19:14 -04:00
rvcas
388caf9460 feat(gen_dev): Backend64
implement build_num_abs_f64 for generic 64 bit archs
2021-05-16 19:17:00 -04:00
rvcas
65cc9b54fa feat(gen_dev): add method to Assembler trait 2021-05-16 19:16:01 -04:00
rvcas
92505444dd feat(gen_dev): add match case for Float64 to Backend 2021-05-16 19:10:01 -04:00
rvcas
365f1a1f7c feat(gen_dev): add build_num_abs_f64 2021-05-16 19:08:02 -04:00
Folkert
2b72f9e733 add HigherOrderLowLevel 2021-05-16 22:49:57 +02:00
Brendan Hansknecht
2fc46b8752 WIP:struct 2021-05-16 13:28:21 -07:00
Folkert
e675bac893 make higher-order distinction in lowlevels 2021-05-16 22:13:13 +02:00
Folkert
917acac843 Merge remote-tracking branch 'origin/increment-many' into specialize-lowlevel 2021-05-16 21:57:15 +02:00
Folkert
bb3fe92251 Revert "add ir unknowninc instruction"
This reverts commit ebd62485df.
2021-05-16 21:52:30 +02:00
Folkert
7520dfee06 Revert "formatting"
This reverts commit 3540a048d8.
2021-05-16 21:52:20 +02:00
Folkert
4afd3cfce6 fixup 2021-05-16 21:32:45 +02:00
Folkert
353e161f77 expose support for multi-increment 2021-05-16 21:25:47 +02:00
Folkert
de7b06e411 refactor + clippy 2021-05-16 21:17:34 +02:00
Folkert
febb578773 rework refcount code gen to accept unknown inc values 2021-05-16 20:28:45 +02:00
Folkert
3540a048d8 formatting 2021-05-16 20:25:18 +02:00
Folkert
ebd62485df add ir unknowninc instruction 2021-05-16 17:25:01 +02:00
Folkert
c2108d4ecd rework refcount code gen to accept unknown inc values 2021-05-16 16:15:27 +02:00
Folkert
3ca6ffade9 make List.map borrow based on passed function 2021-05-16 14:09:39 +02:00
Brendan Hansknecht
b46a2cb4b5
Merge branch 'trunk' into gen-dev/div-i64 2021-05-15 23:36:48 -07:00
Brendan Hansknecht
e56c46ff54 enable record updating tests since they already pass 2021-05-15 23:26:59 -07:00
Brendan Hansknecht
6a38ec03ed enable returning structs
That being said the support is very limited. It really only supports
single field structs and the special case of 2 ints. I realized that
general support for returning structs requires a calling conv extension
for returning them. Instead of adding all of the calling conv versions,
I just added a few basic cases that are shared accross calling conv. It
turns out that the calling conv extension is quite detailed for how it
works in Arm. X86 isn't too detailed overall.
2021-05-15 23:01:23 -07:00
Brendan Hansknecht
ba58e1bbf4 expand supported record tests 2021-05-15 21:17:47 -07:00
Brendan Hansknecht
210004529d float and nested records to the dev backend 2021-05-15 21:05:51 -07:00
Brendan Hansknecht
950d380ea0 Add records to the dev backend 2021-05-15 20:18:04 -07:00