Commit graph

689 commits

Author SHA1 Message Date
Folkert
44d03eebfa
switch over to alloca expr 2023-07-30 18:48:35 +02:00
Folkert
cdd2aab217
add alloca as an expression 2023-07-30 18:46:00 +02:00
Folkert
ce640fe65f
unwrap lambda sets for RC 2023-07-28 17:21:30 +02:00
Folkert
334253f47f
check inside a lambda set for whether it is reference counted 2023-07-26 20:06:37 +02:00
Ayaz Hafiz
d7a30966c1
Add explicit casts
For some reason these can no longer be inferred.
2023-07-17 09:50:37 -05:00
Ayaz Hafiz
3a3ee4dedf
Elide lifetimes 2023-07-12 16:10:59 -05:00
Ayaz Hafiz
a8d821bf87
Remove all box references 2023-07-12 15:50:00 -05:00
Ayaz Hafiz
667a69279e
Refcounting null box ptr 2023-07-12 14:46:36 -05:00
Ayaz Hafiz
0385da490a
Support ValuePtr in alias analysis and llvm 2023-07-12 14:46:12 -05:00
Ayaz Hafiz
23f4d02f81
Cleanup 2023-07-12 14:45:03 -05:00
Ayaz Hafiz
6ba6b04a17
Pass function pointer directly rather than load/store into alloca 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
a123820b2b
Fix argument type 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
1cd9deffe2
Sorry checker 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
3e23699bb4
Build easy refcounter for erased 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
bc4c91a68f
Easy mode refcounter 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
f37cc48e88
Build erased load in llvm 2023-07-12 14:45:02 -05:00
Ayaz Hafiz
e1c88c6101
Build erased types 2023-07-12 14:45:01 -05:00
Ayaz Hafiz
b8c1436a75
Pass less arguments around 2023-07-12 14:45:00 -05:00
Ayaz Hafiz
13d1232f7d
Erased functions do not take a func spec 2023-07-12 14:44:17 -05:00
Ayaz Hafiz
7c8e7bbea3
pub crate 2023-07-12 14:43:40 -05:00
Ayaz Hafiz
74d0f8d2e5
llvm types for erasure, function pointer 2023-07-12 14:43:40 -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
Richard Feldman
1d5c5b25ec
Merge remote-tracking branch 'origin/main' into linux64 2023-07-11 11:33:31 -04:00
Folkert
2d616d1fe9
manual clippy fixes 2023-07-10 18:27:10 +02: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
Richard Feldman
0ade2a85d2
Merge pull request #5622 from roc-lang/reset-reuse-free
free or reuse unconditionally when value is unique
2023-06-28 09:58:10 -04:00
Folkert
8c02cc4ef0
only clear tag id in reset when needed 2023-06-27 20:25:32 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Folkert
1c52c23c5f
Revert "use 32-bit GEP indices where easily possible"
This reverts commit 7c9c3d829c.
2023-06-27 11:02:24 +02:00
Folkert
7c9c3d829c
use 32-bit GEP indices where easily possible 2023-06-27 00:37:09 +02:00
Folkert
7311c565f1
use updated llvm type signatures 2023-06-27 00:09:23 +02:00
Folkert
8738c95d6f
give 0 as a value to our enum attributes 2023-06-27 00:07:33 +02:00
Folkert
654cf7b861
changes after review 2023-06-24 14:49:57 +02:00
Folkert
c38f8bec75
fix llvm gen tests 2023-06-24 14:49:56 +02:00
Folkert
b497c76e44
clippy 2023-06-24 14:49:51 +02:00
Folkert
4a5b6a7a0a
never inline overflow panicking code
it creates too many allocas, growing the stack frame
2023-06-24 14:49:49 +02:00
Folkert
7637506037
skip is_null check if possible 2023-06-24 14:49:49 +02:00
Folkert
9955fe581b
attempt to simplify logic 2023-06-24 14:49:48 +02:00
J.Teeuwissen
2d9fdf0338
updated tag_pointer_set_tag_id 2023-06-24 14:49:48 +02:00
J.Teeuwissen
21d1835406
use build_gep to avoid build_int_to_ptr 2023-06-24 14:49:48 +02:00