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