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