Commit graph

120 commits

Author SHA1 Message Date
Brendan Hansknecht
eff4da1938 appease clippy 2021-11-27 17:03:55 -08:00
Brendan Hansknecht
55f0329e5c Merge remote-tracking branch 'origin/trunk' into gen-dev/remove-results 2021-11-27 16:57:00 -08:00
Brendan Hansknecht
a63dd1eb61 use unimplemented! and internal_error! instead of result in dev backend 2021-11-27 12:38:29 -08:00
satotake
fa2ebe3d81 remove unused codes 2021-11-23 10:12:34 +00:00
satotake
0085272cb8 Merge branch 'trunk' into dev-backend-num-is-zero 2021-11-22 15:25:48 +00:00
satotake
6f42ea3260 inline Num.IsZero of gen-dev 2021-11-22 15:08:12 +00:00
Folkert
f90f5a4bdd fix merge conflict 2021-11-21 20:34:16 +01:00
Folkert
64869ffb8b Merge remote-tracking branch 'origin/trunk' into layout-builtin-numbers-refactor 2021-11-21 19:22:32 +01:00
satotake
c9ec095741 remove num_is_zero in assembly
use high level
2021-11-21 12:55:58 +00:00
Folkert
96498d667e remove usize dev gen 2021-11-21 13:25:39 +01:00
satotake
eec8ad7112 add x86_64 Int is zero support for gen_dev 2021-11-21 10:29:55 +00:00
Folkert
02d4828946 gen_dev working 2021-11-21 00:35:28 +01:00
satotake
3a890f46d3 Add x86_64 Int lt support for gen_dev
Close #2033
2021-11-20 06:17:22 +00:00
satotake
e064deca76 add x86_64 Int neq support for gen_dev 2021-11-19 16:50:41 +00:00
satotake
71bef85984 add x86_64 Int Num.neg support for gen_dev 2021-11-16 15:22:32 +00:00
Kevin Sjöberg
f6d055dc62 Correct minor spelling mistakes 2021-11-06 15:29:08 +01:00
Anton-4
9af09273b3 update to rust 1.56.1 2021-11-02 14:10:01 +01:00
Folkert
54429162ad clippy 2021-11-01 23:19:47 +01:00
Brendan Hansknecht
95f29c4d5b Remove stale comment about F16 2021-09-24 08:35:34 -07:00
Brendan Hansknecht
d1021d652d Add StrCat support and update hello-zig to support dev backend 2021-09-24 08:31:31 -07:00
Brendan Hansknecht
2f24067267 Add small string support to the dev backend 2021-09-24 08:12:42 -07:00
Brendan Hansknecht
d3c344e4da Add macros for common builtin types 2021-09-21 15:38:46 -07:00
Brendan Hansknecht
1a6ca4be59 Convert layout map to store Layouts in order to avoid unsafe mangling 2021-09-21 15:27:21 -07:00
Brendan Hansknecht
006fe3beff Remove borrow constraint, it is used for refcounting before the backend 2021-09-21 15:09:10 -07:00
Brendan Hansknecht
1fb0c8043f Optimize away unnecessary jump right before return 2021-09-21 00:14:13 -07:00
Brendan Hansknecht
54e2792b12 Fix typo 2021-09-20 23:41:20 -07:00
Brendan Hansknecht
16d098da5e Add join points and tail call optimization to the dev backend. 2021-09-20 23:13:30 -07:00
Brendan Hansknecht
0696044a5c Update dev backend to allow reusing stack space and using less memory 2021-09-05 21:21:44 -07:00
Brendan Hansknecht
05bea50730 Fix freeing of float registers 2021-09-05 21:18:32 -07:00
Brendan Hansknecht
d9d0d0c0af Refactor dev backend to deal with layouts within specific backends. Just check constraints at high level 2021-09-03 10:54:51 -07:00
Brendan Hansknecht
5066b19901 Clippy lint and cleanup 2021-08-24 19:10:42 -07:00
Brendan Hansknecht
cc1b7df06a Merge branch 'trunk' into gen-dev/records-base 2021-08-14 21:21:31 -07:00
Anton-4
314503cf7f fixed typos, added typos checking to CI 2021-06-05 20:02:54 +02:00
Richard Feldman
2909c06e72 Add tail_call to ASM trait 2021-05-24 21:41:37 -04:00
Richard Feldman
595c704e88 Generate roc_alloc etc in dev_num tests 2021-05-24 21:36:27 -04:00
Richard Feldman
b3758727e5
Merge branch 'trunk' into gen-dev/div-i64 2021-05-17 00:04: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
Brendan Hansknecht
2fc46b8752 WIP:struct 2021-05-16 13:28:21 -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
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
Brendan Hansknecht
69c2b3527c Add i64 multiplication to dev backend 2021-05-15 15:04:49 -07:00
Folkert
c1d0af5b39 make things compile/run 2021-03-09 20:19:34 +01: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
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
Brendan Hansknecht
9032c8c43b Expand register names for more readability 2021-01-21 21:14:21 -08:00
Brendan Hansknecht
5cabdd83b0 Merge remote-tracking branch 'origin/trunk' into dev-backend 2021-01-21 21:01:10 -08:00