Commit graph

23 commits

Author SHA1 Message Date
Folkert
edf557e480
fix for when C has to return an empty tag union 2023-02-15 15:34:02 +01:00
Folkert
0072192897
prepare for llvm 15 2023-01-28 14:51:47 +01:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06: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
512a1721ae
Push mutable layout interner through llvm backend 2022-12-29 10:04:43 -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
bb4ff34aaa
be more precise with zig return types 2022-12-20 15:43:11 +01:00
Folkert
9bf8d65170
upgrade most build_load usages 2022-12-20 00:11:45 +01:00
Folkert
bc9c813fec
already do some of the llvm struct_gep conversion work 2022-12-19 19:57:31 +01:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Folkert
08b25cb935
fix dec calling convention for windows 2022-09-04 18:26:04 +02:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout 2022-08-31 14:33:52 -05:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Folkert
d87c079620
change how tags are created
wasm in optimize mode just removed the whole tag creation
2022-07-24 15:50:54 +02:00
Folkert
6d88d4106f
remove dead code 2022-07-22 21:15:41 +02:00
Folkert
6cabf11cbc
gen tests with new tag layout 2022-07-22 21:13:55 +02:00
Folkert
90e3021904
make pub(crate) 2022-07-22 21:13:54 +02:00
Folkert
4977d1c65e
use RocUnion constants for tag index 2022-07-22 21:13:53 +02:00
Folkert
366429303c
add RocUnion 2022-07-22 21:13:53 +02:00
Folkert
4d55b756bb
remove dict/set layout 2022-07-13 11:41:19 +02:00
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes 2022-07-01 17:37:43 +02:00
Renamed from compiler/gen_llvm/src/llvm/convert.rs (Browse further)