Commit graph

6121 commits

Author SHA1 Message Date
Brian Carroll
044a2015bb Make better use of Layout methods for GetTagId 2021-12-12 08:35:02 +00:00
Brian Carroll
b1a2a3ba07 Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-recursive-tags 2021-12-11 23:26:29 +00:00
Folkert de Vries
b9395e9b75
Merge pull request #2181 from rtfeldman/wasm-test-platform
Improve Wasm test builds
2021-12-11 22:48:33 +01:00
Folkert
99d12c4f3e use env! macro 2021-12-11 22:11:50 +01:00
Brian Carroll
574eec1d61 Remove fprintf from compilation for faster test runs 2021-12-11 20:36:22 +00:00
Brian Carroll
9594b05c96 Add some debug features to gen_wasm 2021-12-11 20:33:54 +00:00
Brian Carroll
96380d5bfe Link compiler_rt.o in wasm tests 2021-12-11 20:33:11 +00:00
Brian Carroll
9bf1b9aae3 Fix double-offset bug 2021-12-11 20:33:11 +00:00
Brian Carroll
f8a1f9e8cf Use PhantomData instead of Default in Wasm tests 2021-12-11 20:33:11 +00:00
Brian Carroll
c53b3c3686 Skip refcounting on unimplemented layouts 2021-12-11 20:33:11 +00:00
Brian Carroll
f54f96281f Fix roc_alloc linking. Test passes for recursive Tag 2021-12-11 20:33:11 +00:00
Brian Carroll
211a5d9bf3 Fix apparent bug in Layout::is_refcounted
It contradicts build_tag in compiler/gen_llvm/src/llvm/build.rs,
where we create a NonNullableUnwrapped by calling
reserve_with_refcount_union_as_block_of_memory
2021-12-11 20:33:11 +00:00
Brian Carroll
f3ca3be507 Add Wasm support for recursive tags, along with GetTagId and UnionAtIndex 2021-12-11 20:33:11 +00:00
Brian Carroll
031dce61c9 Add a stack_size_and_alignment method to Layout 2021-12-11 20:33:11 +00:00
Brian Carroll
11118bb555 Remove fprintf from compilation for faster test runs 2021-12-11 20:13:46 +00:00
Brian Carroll
e9343d8b2a Edit dummy libc program 2021-12-11 10:15:32 +00:00
Brian Carroll
544caf0f43 Only run Wasm build steps for test_gen when gen-wasm feature is enabled 2021-12-11 10:15:32 +00:00
Brian Carroll
0fe8575ba3 Delete libc.a from gen_wasm 2021-12-11 10:15:32 +00:00
Brian Carroll
2d4dfb49de Update Wasm tests to use libc and platform built by build.rs 2021-12-11 10:15:32 +00:00
Brian Carroll
aefc6e76a4 Build a Wasm libc.a from test_gen/build.rs 2021-12-11 10:15:32 +00:00
Brian Carroll
53d221481e Build a Wasm test platform in test_gen 2021-12-11 10:15:32 +00:00
satotake
a7fe2e3e53 Fix llvm Num.toFloat width conversion
Close #2156
2021-12-11 08:12:57 +00:00
Brian Carroll
e7d6371d1f Fix unused import that only appears in gen_dev tests 2021-12-10 16:18:36 +00:00
Brian Carroll
bab8a0b8a0 Fix alignment bug 2021-12-10 14:52:59 +00:00
Brian Carroll
7b6ba79eee Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-tags 2021-12-10 11:48:56 +00:00
Folkert de Vries
8f97623d38
Merge pull request #2161 from rtfeldman/rust-ana-fix
change import for rust analyzer
2021-12-10 10:24:25 +01:00
Richard Feldman
df9eac196a
Merge pull request #2150 from rtfeldman/joshuawarner32/refactor-fmt_sequence
Unify all collection formatting with fmt_collection
2021-12-09 22:32:32 -05:00
Richard Feldman
aab601366e
Merge pull request #2152 from rtfeldman/inkwell-llvm-13
update inkwell to ease the llvm13 transition
2021-12-09 19:16:23 -05:00
Brendan Hansknecht
971bc3294e Update one todo back to unimplemented 2021-12-09 11:12:49 -08:00
Brendan Hansknecht
7abbf3a043 Switch dev backend from unimplemented! to todo! 2021-12-09 10:39:43 -08:00
Richard Feldman
1ce648ac27
Merge pull request #2116 from rtfeldman/str_to_num
Str.toNum
2021-12-09 09:48:38 -05:00
Anton-4
cf80f510cb change import for rust analyzer 2021-12-09 14:55:43 +01:00
Brian Carroll
3f7b3bef87 Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-tags 2021-12-09 09:28:11 +00:00
Brian Carroll
1dda8859c4 Update gen_wasm's error handling to remove Result and use macros consistently 2021-12-09 00:11:44 +00:00
Brian Carroll
a25101b378 Remove unusable variants from Align enum
I discovered today that Wasmer throws an error if you use
"higher than natural" alignment in a store instruction.
So let's take them out of the enum.
2021-12-08 21:55:14 +00:00
Brian Carroll
8a1a164544 Prevent >8 bit alignment specifier in Wasm store instruction, which is not allowed 2021-12-08 21:42:48 +00:00
Brian Carroll
760f4c0ed4 Add an optional Wasm debug feature - hex memory dump 2021-12-08 21:28:59 +00:00
Brendan Hansknecht
369c1fd6d2 Fix borrow checking complications 2021-12-08 13:28:32 -08:00
Brendan Hansknecht
511b8d5586 Merge remote-tracking branch 'origin/trunk' into dev-backend-num-to-float 2021-12-08 13:28:06 -08:00
Brian Carroll
1ba654c5b2 Change round_up_to_alignment to a macro to work on more Rust types 2021-12-08 21:11:10 +00:00
Brian Carroll
6a801ebc7e gen_wasm: add support for non-recursive Tags 2021-12-08 20:45:49 +00:00
Brian Carroll
f6b6d91c56 More accurate comment for EmptyArray 2021-12-08 20:30:26 +00:00
Brian Carroll
73c9c7089a Fix gen_wasm Let statement for heap-allocating expressions
When we allocate on the heap we'll need to force LocalId storage.
In that case we don't want CodeBuilder to track the Symbol,
even though it has WasmLayout::Primitive.
So basically it was always the wrong condition to check, but we
got away with it when we had no heap allocations.
2021-12-08 20:30:26 +00:00
Brian Carroll
0220f7d921 Remove an assumption of 64-bit pointer alignment 2021-12-08 20:30:26 +00:00
Brian Carroll
2f4225eec6 Add more doc comments to UnionLayout enum 2021-12-08 20:30:26 +00:00
Brendan Hansknecht
b8a287d1ba Merge remote-tracking branch 'origin/trunk' into refcount-gen-dev 2021-12-08 11:22:36 -08:00
Brendan Hansknecht
5f9ae24d14 remove unused comments 2021-12-08 11:19:17 -08:00
Folkert
40246607aa update inkwell to ease the llvm13 transition 2021-12-08 19:36:29 +01:00
Brian Carroll
5c8f3fa26f Generate refcount procedure names from the correct layout ID 2021-12-08 17:33:08 +00:00
satotake
8c4b461468 Merge branch 'dev-backend-num-to-float' of https://github.com/rtfeldman/roc into dev-backend-num-to-float 2021-12-08 12:54:25 +00:00