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