Folkert
96498d667e
remove usize dev gen
2021-11-21 13:25:39 +01:00
Folkert
02d4828946
gen_dev working
2021-11-21 00:35:28 +01: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
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
Brendan Hansknecht
2561620c18
Merge remote-tracking branch 'origin/trunk' into dev-backend
2021-01-16 17:09:56 -08:00
Sébastien Besnier
dfed317f8e
add x86_64 subtraction support for gen_dev
2021-01-13 20:56:33 +01:00
Folkert
754521c4c3
all the clippy fixes
2021-01-01 00:40:41 +01:00
Brendan Hansknecht
4d90ffb686
Fix typo
2020-12-28 11:39:47 -08:00
Brendan Hansknecht
be979b4218
Add immediate addition and subtraction for AArch46
2020-12-01 18:29:10 -08:00
Brendan Hansknecht
f9d571ebc2
Always inline assembly functions and calling conventions
2020-11-30 23:35:23 -08:00
Brendan Hansknecht
ce55313515
Add AArch64 dev backend frame
2020-11-29 18:23:00 -08:00
Brendan Hansknecht
eb8ec4a08d
Reorginize assembler to be more risc friendly
2020-11-27 20:38:40 -08:00