Anton-4
a3fc724df3
removed unused maplit
2021-11-03 10:50:25 +01:00
Richard Feldman
ac42470c81
Drop unused libc deps
2021-11-02 19:37:38 -04:00
Richard Feldman
06c213a5dd
Move some gen_dev deps into dev deps
2021-11-02 19:37:05 -04: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
Folkert
a072d8d1b1
fix things
2021-10-20 16:56:04 +02:00
Folkert
63b1aaad4e
hook up polymorphic zig builtins
2021-10-20 16:43:39 +02:00
Folkert
78c49d3095
support intrinsics/builtins for more integer types
2021-10-19 21:41:38 +02:00
Folkert
6cc8f8624c
a way forward
2021-10-18 11:09:38 +02: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
91057ed8b5
Expand support numeric types
2021-09-20 23:28:57 -07:00
Brendan Hansknecht
16d098da5e
Add join points and tail call optimization to the dev backend.
2021-09-20 23:13:30 -07:00
Richard Feldman
a21ad7064c
Ignore type errors that have already been reported
2021-09-18 08:24:46 -04:00
Folkert
8f7eab4f05
in tests, make gen_dev generate the same name as LLVM backend
2021-09-16 22:22:07 +02:00
Folkert
539d90b62e
make gen tests expose mainForHost like LLVM backend
2021-09-16 21:41:23 +02:00
Brendan Hansknecht
4487e1a3bf
Fix merge tabbing bug and make clippy happy
2021-09-05 21:41:09 -07:00
Brendan Hansknecht
08aa3d31d4
Merge branch 'trunk' into gen-dev/mem
2021-09-05 21:31:05 -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
Folkert
12bc34f451
clippy
2021-09-05 21:23:08 +02:00
Folkert
8e7aef314a
add ListLiteralElement
2021-09-05 21:23:08 +02:00
Brendan Hansknecht
ad974dd473
Add extra commentabout unsafe usage
2021-09-03 11:00:27 -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
Folkert
36fc9b5f1f
update target-lexicon
2021-08-26 21:39:33 +02:00
Brendan Hansknecht
0f9e735e60
Fix missed clippy warning from newer compiler
2021-08-24 19:32:24 -07:00
Brendan Hansknecht
5066b19901
Clippy lint and cleanup
2021-08-24 19:10:42 -07:00
Brendan Hansknecht
1b401f2eca
Disable failing test
2021-08-23 22:04:11 -07:00
Brendan Hansknecht
03bc61cbf8
Merge branch 'trunk' into gen-dev/records-base
2021-08-23 22:01:53 -07:00
Folkert
194918fe4b
remove Invoke
2021-08-20 19:32:55 +02:00
Folkert
5171d181ac
emit invoke again to see what's up here
2021-08-16 20:44:55 +02:00
Joshua Hoeflich
ab109b8eb8
Comment out code
2021-08-15 18:15:39 -05:00
Joshua Hoeflich
34def25b55
Cargo fmt
2021-08-15 18:14:43 -05:00
Joshua Hoeflich
1c6ac84f2f
Add Num.round to dev backend
2021-08-15 17:50:07 -05:00
Folkert
a0a0896622
a working prototype
2021-08-15 23:20:05 +02:00
Brendan Hansknecht
9831261cda
Minor formating cleanup
2021-08-15 10:13:19 -07:00
Brendan Hansknecht
cc1b7df06a
Merge branch 'trunk' into gen-dev/records-base
2021-08-14 21:21:31 -07:00
Folkert
d4896d3ed2
remove inlinable_string dependency
2021-08-03 21:24:19 +02:00
Folkert
899cbeabd7
fix extra ampersands
2021-07-29 17:32:08 +02:00
Folkert
98b4930054
rename
2021-06-21 23:14:05 +02:00
Folkert
205b168f16
rename
2021-06-21 23:02:49 +02:00
Folkert
e1af2eb7d0
add CoerceToTagId
2021-06-20 21:23:50 +02:00
Eric Correia
342d1f34c2
set up GetTagId
2021-06-20 10:54:53 -04:00
Folkert
6a010c9513
rename TopLevelFunctionLayout -> ProcLayout
2021-06-19 15:07:40 +02:00
Richard Feldman
449ec19b0f
Merge pull request #1420 from rtfeldman/layout-changes
...
Layout changes
2021-06-19 08:08:07 -04:00
Folkert
4256c22004
more toplevel
2021-06-18 22:25:31 +02:00
Richard Feldman
53ccef0506
nightly clippy
...
I was on nightly for benchmarks, and these all seem reasonable.
2021-06-18 15:21:11 -04:00
Folkert
b622202d97
rename joinpoint field
2021-06-14 21:12:24 +02:00
Anton-4
22d834ebd9
Merge branch 'trunk' of github.com:rtfeldman/roc into typos_ci
2021-06-07 12:33:26 +02:00
Richard Feldman
811ecd8636
Add descriptions to gen_dev and gen_llvm
2021-06-06 07:56:47 -04:00
Anton-4
314503cf7f
fixed typos, added typos checking to CI
2021-06-05 20:02:54 +02:00
Folkert
03cc96f4ed
rename Rethrow -> Resume
2021-05-30 14:44:46 +02:00
Folkert
64576ddab5
add exception id to invoke/rethrow
2021-05-29 23:27:43 +02:00
Richard Feldman
666caef00c
Fix scope and weak on dev wrapper generation
2021-05-24 23:28:39 -04: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
7d7588ca19
Merge remote-tracking branch 'origin/trunk' into roc_alloc
2021-05-24 20:10:26 -04:00
Folkert de Vries
513a624d28
Merge branch 'trunk' into roc_alloc
2021-05-24 18:22:47 +02: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
0e0cf8a16e
Renamed gen_dev/gen_num to dev_num
2021-05-23 23:47:09 -04:00
Richard Feldman
a7518a675a
Clean up some clippy warnings
2021-05-23 20:28:23 -04:00
Richard Feldman
f4b1e74895
Add a note explaining why commented out
2021-05-23 20:06:06 -04:00
Richard Feldman
6f8804f24a
Merge branch 'trunk' into gen_dev/mac-os
2021-05-22 18:20:37 -04:00
Richard Feldman
c5da16f071
Merge branch 'trunk' into morphic-lib
2021-05-22 15:21:50 -04:00
tarjei
f581b017e8
Enable writing dev backend on macOS
2021-05-22 20:56:40 +02:00
Folkert
ae5b0d8cfd
remove by-pointer calls
2021-05-22 13:52:06 +02:00
Brendan Hansknecht
ae6cd1ca4e
Update test since frontend doesn't stack overflow anymore
2021-05-20 20:45:06 -07: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
0cd454f21a
test: Num.abs for f64 in the dev backend
2021-05-16 19:22:55 -04:00
rvcas
a263f1eac3
test: andpd_freg64_freg64 X86
2021-05-16 19:20:38 -04:00
rvcas
db11453327
feat(gen_dev): implement abs_freg64_freg64 for X86
2021-05-16 19:19:46 -04:00
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
Chadtech
ec7d8e0dc9
Bringing in Trunk and resolving conflict
2021-01-23 21:23:31 -05: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
Chadtech
609bb21fad
Merge branch 'trunk' of github.com:rtfeldman/roc into dict
2021-01-21 22:46:47 -05: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
3c5549072c
add tests for SETE instruction
2021-01-19 18:32:45 +01:00
Sébastien Besnier
1ee2c7a40f
add equality testing in gen_dev
2021-01-19 15:08:03 +01:00
Chadtech
a46a7ef06a
builtin_defs_map passed in explicitly in many places that want to monomorphize, so that we can use a new test_builtin_defs in tests. Hash test works
2021-01-18 22:38:51 -05:00
Brendan Hansknecht
71b7ee7fab
Fix test with large float
2021-01-18 12:25:50 -08:00
Brendan Hansknecht
108dfb758e
Add floats literal loading tests to dev backend
2021-01-18 12:11:13 -08:00
Brendan Hansknecht
7f8511532a
Add floats to the dev backend
2021-01-18 12:07:47 -08:00
Brendan Hansknecht
eecdc7ff85
Add a lot of general information on the dev backend
2021-01-17 10:09:34 -08:00
Brendan Hansknecht
ea3d7cfd3f
Small todo update
2021-01-16 17:10:37 -08:00
Brendan Hansknecht
2561620c18
Merge remote-tracking branch 'origin/trunk' into dev-backend
2021-01-16 17:09:56 -08:00
Folkert
ab6cb7ac93
pass stdlib by reference
2021-01-14 16:49:55 +01:00
Sébastien Besnier
85f146c688
fix extra space in comment
2021-01-14 07:59:26 +01:00
Sébastien Besnier
1961cf771a
fix subtraction error implementation
2021-01-13 21:18:59 +01:00
Sébastien Besnier
dfed317f8e
add x86_64 subtraction support for gen_dev
2021-01-13 20:56:33 +01:00