Commit graph

162 commits

Author SHA1 Message Date
Folkert
64576ddab5 add exception id to invoke/rethrow 2021-05-29 23:27:43 +02:00
Richard Feldman
595c704e88 Generate roc_alloc etc in dev_num tests 2021-05-24 21:36:27 -04:00
Folkert
fbb711b2ca Merge remote-tracking branch 'origin/trunk' into specialize-lowlevel 2021-05-24 15:11:40 +02:00
Richard Feldman
b60988d63e
Merge branch 'trunk' into morphic-lib 2021-05-24 07:18:59 -04:00
Richard Feldman
a7518a675a Clean up some clippy warnings 2021-05-23 20:28:23 -04:00
Folkert
ae5b0d8cfd remove by-pointer calls 2021-05-22 13:52:06 +02:00
Brendan Hansknecht
1a98ec290e Fix dev backend pointer bug
When using pointers as keys, new ones shouldn't get created. Always
reference an existing item.
2021-05-20 20:36:49 -07:00
Folkert
564aacc1fd Merge remote-tracking branch 'origin/trunk' into specialize-lowlevel 2021-05-20 23:08:53 +02:00
Folkert
c5bd06db66 Merge remote-tracking branch 'origin/trunk' into morphic-lib 2021-05-17 19:32:58 +02:00
Richard Feldman
b3758727e5
Merge branch 'trunk' into gen-dev/div-i64 2021-05-17 00:04:14 -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
950d380ea0 Add records to the dev backend 2021-05-15 20:18:04 -07:00
Brendan Hansknecht
69c2b3527c Add i64 multiplication to dev backend 2021-05-15 15:04:49 -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
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
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
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
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
Richard Feldman
427ff12950
Merge branch 'trunk' into dev-backend 2021-01-25 00:56:14 -05:00
Brendan Hansknecht
5cabdd83b0 Merge remote-tracking branch 'origin/trunk' into dev-backend 2021-01-21 21:01:10 -08:00
Folkert
15cbadf652 add inc field to Inc instruction 2021-01-22 00:16:20 +01:00
Brendan Hansknecht
244113ede2 Add floating point addition 2021-01-19 15:25:21 -08:00
Sébastien Besnier
1ee2c7a40f add equality testing in gen_dev 2021-01-19 15:08:03 +01:00
Brendan Hansknecht
7f8511532a Add floats to the dev backend 2021-01-18 12:07:47 -08:00
Sébastien Besnier
85f146c688 fix extra space in comment 2021-01-14 07:59:26 +01:00
Sébastien Besnier
dfed317f8e add x86_64 subtraction support for gen_dev 2021-01-13 20:56:33 +01:00
Folkert
78f653b85c fix typo 2021-01-07 23:19:17 +01:00
Folkert
6e0f57d7eb make invoke work 2021-01-02 00:55:09 +01:00
Folkert
6eb8684c2b basic implementation of invoke for gen_dev 2021-01-01 20:27:08 +01:00
Folkert
5a6bd1e187 fix gen_dev 2021-01-01 16:20:27 +01:00
Folkert
6bc0cf33a5 add unreachable instruction to the mono IR 2021-01-01 02:26:56 +01:00
Folkert
288190281b remove Cond from gen_dev 2020-12-31 21:03:58 +01:00
Anton-4
b085469602 Replaced large_enum_variant explanation with link to issue #800 2020-12-14 16:09:16 +01:00
Brendan Hansknecht
09410d7a02 Rename ret_near to ret and temporarily allow dead relocations 2020-11-23 22:09:44 -08:00
Brendan Hansknecht
67c104d506 Nit clippy stuff 2020-11-23 00:17:57 -08:00
Brendan Hansknecht
3430a08d3d Major refactor for generic 64 bit with traits 2020-11-23 00:16:42 -08:00
Brendan Hansknecht
215ec63abb Fix some nit clippy complaints 2020-11-22 13:46:12 -08:00
Brendan Hansknecht
7fd7407724 Add lazy literal loading optimization 2020-11-22 13:44:38 -08:00
Brendan Hansknecht
902bbef60a Add storing variables in the stack 2020-11-22 12:48:09 -08:00