Commit graph

1160 commits

Author SHA1 Message Date
Folkert
0308e02ba9
update some logic and comments 2023-06-29 18:40:27 +02:00
Folkert
b29e612a4d
refactor 2023-06-29 18:40:26 +02:00
Folkert
f27cb83a02
remove Reuse 2023-06-29 18:40:26 +02:00
Folkert
1daf975391
use Tag instead of Reuse constructor 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
48e6ef79a4
we no longer care where a tag layout stores the tag id 2023-06-27 20:55:28 +02:00
Folkert
e95d093461
in dev/wasm backends, always clear tag id bits from a reset pointer 2023-06-27 20:50:43 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Folkert
ae47cc5171
in TRMC, still apply normal TCE 2023-06-24 19:45:44 +02:00
Folkert
9d10389c2b
make trmc candidate set cheaper to clone 2023-06-24 14:49:58 +02:00
Folkert
654cf7b861
changes after review 2023-06-24 14:49:57 +02:00
Folkert
e19f0ae6d6
don't capture from outside join point for the dev backend 2023-06-24 14:49:55 +02:00
Folkert
c87519c209
search for multiple TRMC opportunities 2023-06-24 14:49:55 +02:00
Folkert
bc64e4b92b
fix layout check issue 2023-06-24 14:49:53 +02:00
Folkert
c21f80ea24
don't use pointer as union child 2023-06-24 14:49:52 +02:00
Folkert
880d2ef788
invalidate TRMC attempt when symbol is used before TRMC opportunity 2023-06-24 14:49:50 +02:00
Folkert
9ab4413beb
rewrite constFolding logic 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
052ce8f2aa
clippy 2023-06-24 14:49:47 +02:00
Folkert
51f3752c94
wasm backend struggles 2023-06-24 14:49:47 +02:00
Folkert
9c85fb90d3
fix bugs 2023-06-24 14:49:47 +02:00
Folkert
0247237fe8
WIP 2023-06-24 14:49:46 +02:00
Folkert
4a9514d2c4
rough implementation 2023-06-24 14:49:46 +02:00
Folkert
76dcb75ff6
add Ptr lowlevels 2023-06-24 14:49:46 +02:00
Folkert
17512873e8
add LayoutRepr::Ptr 2023-06-24 14:49:45 +02:00
Folkert de Vries
a997280dc9
Merge pull request #5568 from JTeeuwissen/no-reuse-non-unique
Don't reuse non unique symbols
2023-06-20 00:48:53 +02:00
J.Teeuwissen
315b7d73a4
non lazy 2023-06-19 21:10:00 +02:00
J.Teeuwissen
343a548458
clippy ;( 2023-06-19 19:59:55 +02:00
J.Teeuwissen
efe91da38c
Changed token order 2023-06-19 19:55:01 +02:00
J.Teeuwissen
78c1855b66
Fixed logic 2023-06-19 17:41:57 +02:00
Hannes
97fa6758d0 Rename trimLeft to trimStart and trimRight to trimEnd 2023-06-19 13:17:59 +08:00
J.Teeuwissen
fdfa978ca8
added branch info and uniqueness check 2023-06-18 20:00:15 +02:00
Ayaz Hafiz
ee25735731
LayoutIds use LayoutRepr 2023-06-17 18:13:02 -05:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch 2023-06-17 18:13:00 -05:00
Ayaz Hafiz
314cc7855a
Revert "Check if benchmarks are weird"
This reverts commit 24e7a56f4b.
2023-06-16 15:26:02 -05:00
Ayaz Hafiz
24e7a56f4b
Check if benchmarks are weird 2023-06-16 14:49:01 -05:00
Ayaz Hafiz
5b0d47c9eb
Drop Layout::alignment_bytes_for_llvm 2023-06-16 10:30:44 -05:00
Ayaz Hafiz
2294f6994f
TERRIBLE HACK to support x86 compilation 2023-06-16 10:30:44 -05:00
Ayaz Hafiz
90533bc014
Add Layout::LIST_U8 2023-06-16 10:30:42 -05:00
Ayaz Hafiz
de44e90fda
Add Layout::STR_PTR 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
47fb9fe6f2
Implement struct-by-reference for structs over 4 machine words 2023-06-16 10:30:40 -05:00
Ayaz Hafiz
c91b82198d
Use correct variable when compiling dbg continuation
Closes #5479
2023-06-13 16:45:02 -05:00
Folkert de Vries
b3c598fcf6
Merge pull request #5539 from roc-lang/dev-gen-primitives
dev backend: de-duplicate function names based on the lambda set
2023-06-13 22:13:34 +02:00
Ayaz
c907b12cf0
Merge pull request #5548 from JTeeuwissen/fix-oc-test-panics-after-roc-check-said-zero-errors,-zero-warnings
Index array symbols unknown symbols
2023-06-13 13:44:12 -05:00
J.Teeuwissen
5d66ae4295
removed target info 2023-06-13 17:15:04 +02:00
J.Teeuwissen
36abaec07d
Index array symbols unknown symbols 2023-06-13 15:56:55 +02:00
Folkert
59da1ea891
consistently name function symbols
previously the dev backend did not take into account lambda name information to generate function names. This could cause the same function name to be defined twice
2023-06-11 13:39:43 +02:00
Folkert
92194be436
use retain to save on some allocations 2023-06-10 23:55:15 +02:00
J.Teeuwissen
86797a9515
typo 2023-06-10 23:55:14 +02:00
J.Teeuwissen
fbf3faeaf1
Simplified logic 2023-06-10 23:55:14 +02:00