Commit graph

180 commits

Author SHA1 Message Date
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
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
Folkert
4623e0f1ae disable i64_force_stack 2021-05-16 00:35:42 +02:00
Folkert
691fa56d50 make repl evaluate 0-argument thunk 2021-05-16 00:23:04 +02:00
Brendan Hansknecht
69c2b3527c Add i64 multiplication to dev backend 2021-05-15 15:04:49 -07:00
Brendan Hansknecht
91e471e328 Minor cleanup of gen_dev/gen_num tests 2021-05-15 15:02:52 -07:00
Folkert
16fe609464 remove Expr::FunctionPointer 2021-05-15 21:29:10 +02:00
Folkert
357f93a2ee store the layout of a function passed to a lowlevel 2021-05-15 20:54:26 +02:00
Folkert
8799973ffe add update mode variables 2021-05-09 01:03:29 +02:00
Richard Feldman
0a50b0b488 Change license to UPL-1.0
Closes https://github.com/rtfeldman/roc/issues/1199
2021-04-21 19:18:44 -04:00
Folkert
383f35db5a bump bumpalo 2021-04-18 14:36:47 +02:00
Richard Feldman
792a18816a Update authors in Cargo.toml 2021-04-11 08:11:52 -04:00
Folkert
ff3f231155 remove Mode from stdlib 2021-04-01 21:42:38 +02:00
Richard Feldman
9f73c576f3 macro_use must be in crate root 2021-03-26 09:46:33 -04:00
Richard Feldman
6dc5aa2901 Allow dead code on a couple of helpers 2021-03-26 09:16:23 -04:00
Richard Feldman
e5bbca477d Revert "Drop some unused helpers"
This reverts commit 09cf687349.
2021-03-26 09:15:08 -04:00
Richard Feldman
0cd8ea5cea Re-add indoc in the right place 2021-03-26 09:14:43 -04:00
Richard Feldman
09cf687349 Drop some unused helpers 2021-03-26 08:45:47 -04:00
Richard Feldman
202a80df44 Allow upper case acronyms in clippy
This is not a big deal, and not worth changing in a bunch of places
just to appease clippy.
2021-03-25 22:55:29 -04:00
Folkert
55cb780249 don't clone Layout 2021-03-22 14:08:48 +01:00
Eric Henry
7354f0e8ea final test fix 2021-03-13 08:31:48 -05:00
Eric Henry
d47c3d7f49 test fix test 2021-03-12 22:50:48 -05:00
Eric Henry
2a90c147c6 fix Test, another one 2021-03-12 21:46:38 -05:00
Folkert
c1d0af5b39 make things compile/run 2021-03-09 20:19:34 +01:00
Eric Henry
4d046abefa builtin maxI128 initial 2021-03-09 12:47:42 -05:00
Folkert
232c8652d5 clippy 2021-02-20 22:28:01 +01:00
Brendan Hansknecht
7d24d51392 gen_dev: generate and link zig builtins. 2021-02-14 18:15:00 -08:00
Brendan Hansknecht
a783be3332 gen_dev: add switch statements. This also fixes a small bug with comparisons. 2021-02-13 15:35:55 -08:00
Brendan Hansknecht
c609df2d74 gen_dev: generate all functions they may be need if a function pointer is used 2021-02-12 19:42:08 -08:00
Brendan Hansknecht
95be1a1b6d gen_dev: add ability to pass arguments to functions 2021-02-12 19:32:34 -08:00
Brendan Hansknecht
fc3bbb9fbc Merge remote-tracking branch 'origin' into gen_dev/funcs 2021-02-12 17:02:36 -08:00
Brendan Hansknecht
5a3ec0c0ac Switch to base pionter offset addressing.
This change will be needed to deal with passing function arguments.
Without this change, we would need to do multiple passes due to function
arguments being on top of the stack and conflicting with variables.
2021-02-12 17:02:25 -08:00
Brendan Hansknecht
846c82961f gen_dev: add basic function support 2021-02-10 22:38:58 -08:00
Folkert
0ed87828e5 Merge remote-tracking branch 'origin/trunk' into dict 2021-02-10 15:02:53 +01:00
Folkert
ca04411523 fix tests/more uniq removal 2021-02-07 22:50:33 +01:00
Chadtech
69fcbf70ea
Merge branch 'trunk' into dict 2021-01-31 15:46:22 -05:00
Folkert
55eff1dba1 fix oversights 2021-01-28 15:32:22 +01:00
Folkert
936bf459eb initial version of rc optimization 2021-01-28 13:14:54 +01:00
Chadtech
d787d3ef7b
Merge branch 'trunk' into dict 2021-01-25 20:25:37 -05:00
Richard Feldman
427ff12950
Merge branch 'trunk' into dev-backend 2021-01-25 00:56:14 -05:00