Commit graph

6409 commits

Author SHA1 Message Date
Ayaz Hafiz
9abbcfaafc
Optimize literal list construction in LLVM backend
Currently, list literals are always heap-allocated and their elements
are stored by emitting a GEP and store for each item in the literal.
This produces huge quantities of IR, causing compile times for e.g.
programs with large literals or ingested files to blow up.

Instead, if a list literal consists entirely of literal values, create a
global section for the literal and return a pointer to it.
2024-08-09 18:51:17 -07:00
Anton-4
d23426ac47
Merge pull request #6941 from roc-lang/improve-tip
improve opaque types tip
2024-07-31 13:48:51 +02:00
Anton-4
30a76a092b
improve opaque types tip 2024-07-30 16:06:23 +02:00
Joshua Warner
c49dc1b9d6
Merge pull request #6938 from joshuawarner32/fix-unreachable 2024-07-30 06:57:36 -07:00
Joshua Warner
939f9cb7e9
Give an error for record builders in patterns instead of crashing 2024-07-29 22:54:25 -07:00
Joshua Warner
ca037c5d0e
Merge branch 'main' into fix-deprecated-interpolated-formatting 2024-07-29 17:40:23 -07:00
Joshua Warner
4e8b36adbf
Fix auto-fixing of deprecated interpolated strings 2024-07-29 17:37:55 -07:00
Richard Feldman
a66e6862f4
Merge pull request #6926 from a-lavis/store-all-space-between-annotation-body
Preserve comments between annotation and body
2024-07-29 15:58:53 -04:00
Aidan
4bf5154610 remove spaces_middle from crates/compiler/can/src/desugar.rs 2024-07-29 13:11:57 -04:00
Aidan
ddb58a2cd5 spaces_middle -> lines_between 2024-07-29 13:06:48 -04:00
Brendan Hansknecht
5a933b0582
Merge pull request #6932 from roc-lang/blitsort
Fast Builtin Sorting
2024-07-29 09:22:35 -07:00
Aidan
2529fa0721 get rid of extra newlines 2024-07-29 11:10:16 -04:00
Aidan
91fdd903e7 comment -> spaces_middle 2024-07-29 10:04:32 -04:00
Aidan
125990855f Merge branch 'main' into store-all-space-between-annotation-body 2024-07-29 09:46:05 -04:00
Brendan Hansknecht
e69532d3b3
update tuning todo 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
90d3bb6a08
wire indirect through everything as a comptime bool 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
22896d309a
fix a another bug caught by fuzzing 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
7747f06504
fix a few bugs caught by fuzzing 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
400393a531
remove wrong assert 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
285c43e288
make fuzzer better and add missing else 2024-07-28 20:33:48 -07:00
Brendan Hansknecht
109dba836e
clarify comments and variable names, fix small bug 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
51a3ea655c
minor cleanup 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
65d7f6ad56
update fuzzing to fluxsort 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
eff37f6b6d
fix up flux_default_parition and add tests 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
f9eeee0bde
add test for flux_reverse_partition 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
6d7d9e4e57
add testing for pivot selection 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
e722faaf58
add fluxsort 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
c9a47ae886
add refcounting to fuzzing and fix first fuzzing bug 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
15daad66fe
wire refcounting through sorting with comptime bool 2024-07-28 20:33:47 -07:00
Brendan Hansknecht
b1ff39fd6f
remove redundant variable 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
8ace0dd91b
reenable direct sorting 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
3c510caf30
git indirect sorting working 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
0e092e0225
add beginining of indirect sorting 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
47017179a6
watch afl status 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
b3d30e9282
correct assert 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
383259e55f
add fuzzing script 2024-07-28 20:33:46 -07:00
Brendan Hansknecht
6ef44a22c8
add fuzzing instructions 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
a0dd18b0fc
fix potential crash case 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
0aaf9e2529
start converting to real fuzzer 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
f4cbf9278b
cleanup fuzz slice 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
7254122d30
turn a few while loops into for loops for clarity 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
f9abfcbb16
switch to isize subtraction for correctness 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
b73b70b6b2
fix sort bug 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
52f6c30173
init allocator in main 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
7373a76f81
add running sort directly for zig for testing 2024-07-28 20:33:45 -07:00
Brendan Hansknecht
afe6128b1f
fix reversed case 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
f91a9d716d
remove always_tail (breaks wasm) and trust llvm to get it right (it does)...try 2, commit was missing 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
3093e79269
add final rotate merge 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
0baacb3c00
add rotate merge block 2024-07-28 20:33:44 -07:00
Brendan Hansknecht
9e7619ef2a
add monobound binary search 2024-07-28 20:33:44 -07:00