Commit graph

90 commits

Author SHA1 Message Date
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
HajagosNorbert
9c21ac1388
rename to GetElementPointer, index -> indices 2023-11-13 15:48:05 +01:00
HajagosNorbert
90223022af
remove tag_id in favor of index 2023-11-13 15:48:05 +01:00
HajagosNorbert
347431d1df
index to slice of indicies 2023-11-13 15:48:05 +01:00
Brian Carroll
10b0357140
Trim load_symbols_for_call 2023-11-05 23:55:26 +00:00
Brian Carroll
87ef10a4e5
Remove unused args from lowlevel helpers 2023-11-05 23:45:29 +00:00
Brian Carroll
84a230a2e5
Remove unused args from call 2023-11-05 23:32:20 +00:00
Brian Carroll
a76c4420fa
CodeBuilder tracks which local variables are set 2023-11-05 23:20:46 +00:00
Brian Carroll
5719384ed9
Get rid of VM stack storage 2023-11-05 23:20:46 +00:00
Brian Carroll
3d57e7a89c
If host has a _start, don't bother searching for main 2023-10-23 13:50:36 -07:00
Brendan Hansknecht
6665a0ea4f
Fix malloc in wasm by setting __heap_end 2023-10-23 13:50:36 -07:00
Brian Carroll
8ead194c2c
Fix order of operations in gen_wasm host-to-app linking 2023-10-23 13:50:35 -07:00
Brian Carroll
4c4344b46c
wasm: delete CallConv, since now Zig==C (hopefully) 2023-10-23 13:50:31 -07:00
Brian Carroll
cc2b8b5d19
wasm: delete ReturnMethod::ZigPackedStruct 2023-10-23 13:50:31 -07:00
Richard Feldman
2da41be29f
Merge remote-tracking branch 'origin/main' into abilities-syntax 2023-08-10 20:36:01 -04:00
Folkert
cdd2aab217
add alloca as an expression 2023-07-30 18:46:00 +02:00
Folkert
81b4b3d22c
fix layout comparison in wasm backend 2023-07-28 16:23:14 +02:00
Ayaz Hafiz
a8d821bf87
Remove all box references 2023-07-12 15:50:00 -05:00
Ayaz Hafiz
283b9d53d6
Add Expr::ErasedLoad 2023-07-12 14:42:46 -05:00
Ayaz Hafiz
2c838aa5c2
Add mono Expr::ErasedMake 2023-07-12 14:40:16 -05:00
Ayaz Hafiz
3e3d3cc7f3
Type fixes 2023-07-12 14:21:28 -05:00
Ayaz Hafiz
cf30f02e01
Expr::FunctionPointer 2023-07-12 14:21:27 -05:00
Ayaz Hafiz
510a421748
Call erased functions 2023-07-12 14:14:25 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Folkert
6d2d65bb1e
remove Boxed layout 2023-07-09 15:47:28 +02:00
Folkert
d64930c17f
remove box and unbox expressions 2023-07-09 15:47:28 +02:00
Folkert
f27cb83a02
remove Reuse 2023-06-29 18:40:26 +02:00
Folkert
463f739c06
add reuse info to normal Tag ir constructor 2023-06-29 18:40:26 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Folkert
2332ec3133
revert debug flags 2023-06-24 14:49:52 +02:00
Folkert
bb335469e0
working wasm implementation (for one example) 2023-06-24 14:49:50 +02:00
Folkert
052ce8f2aa
clippy 2023-06-24 14:49:47 +02:00
Folkert
51f3752c94
wasm backend struggles 2023-06-24 14:49:47 +02:00
Folkert
0247237fe8
WIP 2023-06-24 14:49:46 +02:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch 2023-06-17 18:13:00 -05:00
Bryce Miller
e463ccf4a6
merge main 2023-06-07 20:36:54 -04:00
Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner 2023-06-06 16:01:27 -05:00
Bryce Miller
dbc0204532
abilities syntax has -> implements 2023-05-24 21:30:16 -04:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant 2023-05-16 11:58:16 -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
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
J.Teeuwissen
9d4c3bcfb9
undid inlining 2023-04-15 17:41:10 +02:00
J.Teeuwissen
5f7f9b766b
inline lowlevel in rc 2023-04-13 12:26:05 +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
J.Teeuwissen
d4ed6f7778
start resetref 2023-03-29 11:57:13 +02:00
Ayaz Hafiz
9d70c45781
Update wasm backend 2023-01-11 14:38:43 -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