Commit graph

44 commits

Author SHA1 Message Date
Folkert
0072192897
prepare for llvm 15 2023-01-28 14:51:47 +01:00
Ayaz Hafiz
f451ba49f1
Toss out when-recursive from llvm backend 2023-01-25 12:48:06 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Folkert
dca1c665ae
fix list elementes being cloned to the wrong place 2023-01-14 14:25:23 +01:00
Ayaz Hafiz
03ece6e274
Update llvm backend 2023-01-11 14:39:10 -06:00
Ayaz Hafiz
ce717dca8b
Do not require allocating Layouts in arena before interning
This should reduce memory spend, the interner has its own effective
arena anyway
2023-01-10 09:47:13 -06:00
Ayaz Hafiz
50826d1a83
Inline interners into the layout interner module
I realized that we'll need to make the layout interner more complicated
to support things like recursive pointers pointing to their parents and
to support lambda set layout caching. Since the layout interner is the
only user of intern crate right now anyway, just inline the whole thing.
2023-01-03 14:19:39 -06:00
Ayaz Hafiz
0011636ba9
Allow all the arguments 2022-12-29 11:42:24 -06:00
Ayaz Hafiz
512a1721ae
Push mutable layout interner through llvm backend 2022-12-29 10:04:43 -06:00
Ayaz Hafiz
e4b5252e51
List takes interned element 2022-12-29 08:52:37 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts 2022-12-28 18:51:26 -06:00
Folkert
9bf8d65170
upgrade most build_load usages 2022-12-20 00:11:45 +01:00
Folkert
f2d0953e0a
upgrade build_in_bounds_gep 2022-12-19 20:21:27 +01:00
Folkert
bc9c813fec
already do some of the llvm struct_gep conversion work 2022-12-19 19:57:31 +01:00
Folkert
0f46ea83d0
standardize WhenRecursive 2022-12-19 19:05:25 +01:00
Folkert
3720c38e2b
convert to pointer_cast where we can 2022-12-17 23:21:19 +01:00
Folkert
8e36456765
de-duplicate tag extract value code 2022-12-17 22:56:05 +01:00
Ayaz Hafiz
2dc19207a3
Throw away usage of stored variables on receiver side 2022-12-14 17:00:37 -06:00
Ayaz Hafiz
fe90355265
Store specialized variables of expect lookups in expect frames 2022-12-14 17:00:36 -06:00
Folkert
95fe9cbccd
pass the pointer to shared memory around, instead of using a global 2022-12-08 23:22:26 +01:00
Folkert
e7f3c6f281
inline dbg 2022-11-23 21:23:28 +01:00
Folkert
94cc2971a3
don't use a global on the zig side (surgical linking can't do those yet) 2022-11-05 14:08:19 +01:00
Folkert
8c4a2f58fc
working expects in roc dev 2022-10-05 22:17:40 +02:00
Folkert
bdec61d5bb
fix bug in expect serialization of lambda sets 2022-09-16 22:19:55 +02:00
Ayaz Hafiz
fa700259aa
Clippy 2022-09-14 14:53:00 -05:00
Ayaz Hafiz
c4a3a8bd31
Copy list values from the correct offset when reporting expects
Co-authored-by: Folkert de Vries <folkert@folkertdev.nl>
2022-09-14 14:28:56 -05:00
Ayaz Hafiz
a8282f36c3
Handle values that are functions in expects 2022-09-14 11:26:46 -05:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout 2022-08-31 14:33:52 -05:00
Folkert
a5293e2a60
and add non-nullable unwrapped 2022-08-06 18:27:04 +02:00
Folkert
be4e98e076
add recursive unions 2022-08-06 17:40:12 +02:00
Folkert
546b702740
nullable wrapped tags 2022-08-06 14:40:00 +02:00
Folkert
2514e7d845
implement non-recursive tags 2022-07-28 22:02:21 +02:00
Folkert
64be250a15
setup for recursive tags 2022-07-28 17:15:39 +02:00
Folkert
e61f025fef
implement expect box reporting 2022-07-28 17:01:33 +02:00
Folkert
1bfac155ca
implement expect struct reporting 2022-07-28 16:47:02 +02:00
Folkert
dbbbc32583
changes after review 2022-07-28 16:25:14 +02:00
Folkert
8e5b0daa94
figured out how to serialize nested structures 2022-07-27 23:52:11 +02:00
Folkert
631c642950
store the start of the value for each variable in a table 2022-07-27 21:32:49 +02:00
Folkert
b132b1fa89
fix non-recursive tag unions in expects 2022-07-27 14:44:43 +02:00
Folkert
93005cf2d0
report multiple expect failures 2022-07-24 11:25:02 +02:00
Folkert
63b2b060c9
fix list non-memcopy clone 2022-07-23 15:42:46 +02:00
Folkert
954a4fbe32
WIP 2022-07-23 14:25:38 +02:00
Folkert
984000095f
clone structs and tags if they are copy 2022-07-23 00:15:38 +02:00
Folkert
d4feaf871b
add llvm expect cloning 2022-07-23 00:09:25 +02:00