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