Commit graph

94 commits

Author SHA1 Message Date
Folkert
7fb4b60b21
move around hostexposedalias logic 2023-08-09 15:09:03 +02:00
Folkert
cdd2aab217
add alloca as an expression 2023-07-30 18:46:00 +02:00
Ayaz Hafiz
00730be6fb
Fix doc comments 2023-07-12 17:16:12 -05:00
Ayaz Hafiz
baf6c6f712
Make sure to specialized erased at least once 2023-07-12 16:43:22 -05:00
Ayaz Hafiz
0385da490a
Support ValuePtr in alias analysis and llvm 2023-07-12 14:46:12 -05:00
Ayaz Hafiz
2c826ea898
Model erasure in alias analysis 2023-07-12 14:43:39 -05:00
Ayaz Hafiz
7ea85e44d2
Add Layout::Erased 2023-07-12 14:43:24 -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
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
Ayaz Hafiz
6312d75ee0
Add FunctionPointer layout 2023-07-12 13:59:50 -05:00
Ayaz Hafiz
c459757062
Thread simple model of "ErasedLambdas" through proc layouts
But none of these paths are yet exercised.
2023-07-12 13:53:52 -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
0247237fe8
WIP 2023-06-24 14:49:46 +02:00
Folkert
17512873e8
add LayoutRepr::Ptr 2023-06-24 14:49:45 +02:00
Ayaz Hafiz
94e97df54a
Remove mut layout interner from alias analysis 2023-06-17 18:13:02 -05:00
Ayaz Hafiz
5274dbcd00
Add a Newtype variant to LayoutWrapper 2023-06-06 16:03:52 -05:00
Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner 2023-06-06 16:01:27 -05:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant 2023-05-16 11:58:16 -05:00
Ayaz Hafiz
4296d5a349
Drop Layout::struct_no_name_order 2023-05-10 15:58:51 -05:00
Ayaz Hafiz
f100e8753c
Introduce the concept of SemanticRepr 2023-05-10 13:51:04 -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
b0c1877a04
Merge branch 'main' into Frame-Limited 2023-04-03 10:06:26 +02:00
J.Teeuwissen
87abe8df7d
Merge branch 'resetref' into Frame-Limited 2023-04-03 10:02:31 +02:00
Folkert
c6de2c4a58
re-wrap a named type in morphic spec generation 2023-04-02 19:01:00 +02:00
Folkert
09779f65ad
add NullPointer to mono::ir::Expr 2023-03-30 20:18:04 +02:00
J.Teeuwissen
d4ed6f7778
start resetref 2023-03-29 11:57:13 +02:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin 2023-03-13 17:43:21 -07:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit 2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded 2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec 2023-03-06 16:36:18 -08:00
Folkert
68524ef07e
generate callers based on layout traversal 2023-02-20 22:05:35 +01:00
Ayaz Hafiz
a1ebfa30f8
Remove unused variable 2023-01-25 12:33:01 -06:00
Ayaz Hafiz
7159eeabcd
Toss out when-recursive in alias analysis 2023-01-25 12:30:32 -06:00
Ayaz
ad84e02abf
Merge pull request #4950 from roc-lang/keep-recptr-index
Initial support for linking recursive pointer layouts back to their source layouts
2023-01-24 14:42:00 -06:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Anton-4
bbf35af8fa
Merge branch 'main' into rust1_65
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-01-17 18:14:30 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes 2023-01-17 18:09:16 +01:00
Ayaz Hafiz
6859c2e15c
Update dev backend 2023-01-11 14:38:42 -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
039bab65f5
Remove unused imports 2022-12-29 18:43:28 -06:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche 2022-12-29 18:43:26 -06:00