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