Commit graph

375 commits

Author SHA1 Message Date
Ayaz Hafiz
390e9f8648
load_roc_value by layoutrepr 2023-06-17 18:13:01 -05:00
Ayaz Hafiz
07f40baf62
use_roc_value by layoutrepr 2023-06-17 18:13:01 -05:00
Ayaz Hafiz
5979405b79
Store value by layoutrepr 2023-06-17 18:13:01 -05:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch 2023-06-17 18:13:00 -05:00
Ayaz Hafiz
8495f3b085
Have basic_type_from_layout take LayoutRepr 2023-06-17 18:12:17 -05:00
Ayaz Hafiz
6c4f76c5c9
Pass tag target ptr rather than alloca 2023-06-16 21:06:49 -05:00
Ayaz Hafiz
a7978abdc9
Fix nullable unwrapped code generation 2023-06-16 18:11:51 -05:00
Ayaz Hafiz
465cee053e
Have RocUnion::as_struct_value return an alloca instead
Saves a useless store/load.
2023-06-16 17:54:17 -05:00
Ayaz Hafiz
0403509f64
Get rid of unnecessary comment 2023-06-16 17:51:47 -05:00
Ayaz Hafiz
942fb37155
Revert unconditional branch taken 2023-06-16 15:27:56 -05:00
Ayaz Hafiz
f95cef8086
Add llvm_alignment_bytes and memcpy function 2023-06-16 10:30:44 -05:00
Ayaz Hafiz
2294f6994f
TERRIBLE HACK to support x86 compilation 2023-06-16 10:30:44 -05:00
Ayaz Hafiz
d39c8ba7be
Revert legacy struct builder 2023-06-16 10:30:43 -05:00
Ayaz Hafiz
ea6330b48b
Make sure to memcpy with correct size and alignments 2023-06-16 10:30:43 -05:00
Ayaz Hafiz
57019d5b78
Revert tag union construction with RocStruct for now 2023-06-16 10:30:43 -05:00
Folkert
05eb489b14
debug logic 2023-06-16 10:30:43 -05:00
Ayaz Hafiz
8f9e95b482
Unused var 2023-06-16 10:30:42 -05:00
Ayaz Hafiz
5c1a601074
No need for mut 2023-06-16 10:30:41 -05:00
Ayaz Hafiz
7b1dc7eff0
Update test function catcher to take records by reference 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
b24a907662
Consistent wrapper result 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
2d91225b01
Fix wrapper result type 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
8070736cc7
Simplify construction of RocReturn 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
47fb9fe6f2
Implement struct-by-reference for structs over 4 machine words 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
e1f8d68055
Make loading from struct a method 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
bb3cfb9cd3
Break up arguments of insert 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
bbef63f28f
Move load_symbol_and_layout to scope 2023-06-16 10:30:39 -05:00
Ayaz Hafiz
6e23365551
Move load_symbol to scope 2023-06-16 10:30:38 -05:00
Ayaz Hafiz
8d3d4ed9d8
Move LLVM scope ops to a separate module 2023-06-16 10:30:38 -05:00
Ayaz Hafiz
470ed119c2
Move roc struct operations to a new "struct" module 2023-06-16 10:30:38 -05:00
Ayaz Hafiz
80a98668d5
Fix type errors 2023-06-06 16:07:51 -05:00
Ayaz Hafiz
5274dbcd00
Add a Newtype variant to LayoutWrapper 2023-06-06 16:03:52 -05:00
Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner 2023-06-06 16:01:27 -05:00
J.Teeuwissen
21d4b61fca
DecRef union clear tag id 2023-06-05 14:55:37 +02:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant 2023-05-16 11:58:16 -05:00
J.Teeuwissen
797da23f17
build_is_null resetref 2023-05-15 00:53:12 +02:00
Folkert
a289f37eef
handle NULL pointer in Reset 2023-05-15 00:53:12 +02:00
Ayaz Hafiz
4296d5a349
Drop Layout::struct_no_name_order 2023-05-10 15:58:51 -05:00
Ayaz Hafiz
f100e8753c
Introduce the concept of SemanticRepr 2023-05-10 13:51:04 -05:00
Ayaz Hafiz
c3eeb5e2cc
Wrap layouts in a LayoutRepr constructor
Part 1 of support semantic layout representations.
2023-05-10 13:22:10 -05:00
Folkert
ef60be37af
fix alloca of wrong type 2023-05-06 00:42:48 +02:00
Folkert
1c16617bec
llvm backend: fix how closure value is passed 2023-05-05 16:36:29 +02:00
Anton-4
9748e4a4dc
many clippy fixes 2023-04-24 16:21:46 +02:00
Anton-4
abf2d5760d
clippy auto fix 2023-04-22 18:25:48 +02:00
J.Teeuwissen
ed947b773d
Cleanup 2023-04-05 19:44:17 +02:00
J.Teeuwissen
87abe8df7d
Merge branch 'resetref' into Frame-Limited 2023-04-03 10:02:31 +02:00
Folkert
09779f65ad
add NullPointer to mono::ir::Expr 2023-03-30 20:18:04 +02:00
J.Teeuwissen
9e8b1c0dee
reset ref implementation 2023-03-30 09:30:09 +02:00
Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue 2023-03-29 19:43:59 +02:00
J.Teeuwissen
d4ed6f7778
start resetref 2023-03-29 11:57:13 +02:00
Ayaz Hafiz
3603183817
Apply opaque pointer recasting to all recursive layouts 2023-03-22 08:21:09 -05:00