Brendan Hansknecht
8726c05339
add quad merge
2024-07-28 20:33:43 -07:00
Brendan Hansknecht
5bc97b58c8
add tail merge
2024-07-28 20:33:43 -07:00
Brendan Hansknecht
eb8c91775f
add partial backwards merge
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
ea0063b992
add partial forward merge
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
2455c1dd05
update todos
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
21132a6740
add quad merge blocks
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
7164d74ad1
add cross merge
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
0f56b98bc6
reorder args to put destination first
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
87b339d09a
add quad_swap_merge
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
f631bae67a
add quad_reversal
2024-07-28 20:33:42 -07:00
Brendan Hansknecht
a7823c2164
add tailswap for 31 or less elements
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
33e6dabeba
make function args multiline and visable
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
5d2aaf7f9d
add parity merge
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
f1a7772a12
improve branch generation with bools
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
eacc3771eb
implement latest version of tiny_sort
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
9702cae99d
improve branchless code gen
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
1d534517b3
update buffer size
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
539ab1daef
update comment on branchless generation
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
8316e3f9cd
add twice_unguarded_insert
2024-07-28 20:33:41 -07:00
Brendan Hansknecht
edf797317f
cleanup calling the compare function
2024-07-28 20:33:40 -07:00
Brendan Hansknecht
c3f09d57b0
cleanup test cases a bit
2024-07-28 20:33:40 -07:00
Brendan Hansknecht
1c90e01385
add tiny_sort for 0 to 4 elements
2024-07-28 20:33:40 -07:00
Brendan Hansknecht
65ab733a63
add perf comment/concern
2024-07-28 20:33:40 -07:00
Brendan Hansknecht
8b58161c73
correct comment on branchless version
2024-07-28 20:33:40 -07:00
Brendan Hansknecht
52af8c588e
start adding the basis for quadsort for blitsort
2024-07-28 20:33:39 -07:00
Luke Boswell
5f95b59c42
update reference to zig-cache
2024-07-28 17:10:40 +10:00
Luke Boswell
c47915a691
upgrade zig bultins to zig 13
2024-07-28 16:50:45 +10:00
Luke Boswell
c08202507b
upgrade more test platforms to zig 13
2024-07-28 15:55:39 +10:00
Brendan Hansknecht
a8dd6244e9
fix zig build errors
2024-07-28 15:55:37 +10:00
Luke Boswell
011c13fb17
fixup the obivous zig errors
2024-07-28 15:55:37 +10:00
Luke Boswell
5d4f820185
update crates/compiler/builtins/bitcode/build.zig to zig 0.13.0
2024-07-28 15:55:37 +10:00
Brendan Hansknecht
82764dc697
switch to passing the copy function into zig (implement llvm)
2024-07-21 19:04:57 -07:00
Brendan Hansknecht
d028aa3c74
try a different formulation. Maybe it will avoid lookup table
2024-07-21 18:17:37 -07:00
Brendan Hansknecht
f3cae9147c
generate all static size memcpy's
2024-07-21 17:03:07 -07:00
Brendan Hansknecht
fec875d045
have zig generate more efficient copy functions
2024-07-21 14:56:21 -07:00
Brendan Hansknecht
2772aa4912
fix slice refcounting mistakes that can modify data before a list
2024-07-17 22:19:40 -07:00
Brendan Hansknecht
2fd2c25c13
guard all inc and dec calls in zig by elements_refcounted to avoid noop loops
2024-07-13 10:39:58 -07:00
Brendan Hansknecht
9052fbd09c
fix List.sublist and add some more refcounting tests
2024-07-13 10:39:58 -07:00
Brendan Hansknecht
4e8f916204
correct pointer alignment on decref
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
675e0693a4
clarify function name
2024-07-13 10:39:57 -07:00
Brendan Hansknecht
c734a27b59
move List.map* into roc
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
94cb4fb8ff
remove inc functions from list.map*, the closure will inc in necessary
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
266fe4bdc8
fix zig tests
2024-07-13 10:39:56 -07:00
Brendan Hansknecht
175255cf86
remove accidental .zig-cache
2024-07-13 10:39:54 -07:00
Brendan Hansknecht
6b761f6f81
fix zig builtin compilation and warnings
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
48eb9c31a9
update list generated refcounting functions for dev and wasm
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
0d0a4a8806
Update refcounting of list builtins to the new system.
2024-07-13 10:39:53 -07:00
Brendan Hansknecht
44cd1ee9c4
Avoid accessing unallocated bytes in list.incref
2024-07-13 10:39:52 -07:00
Brendan Hansknecht
a1d08702a4
Update roc_std List to handle size on the heap
...
This increased the number of failing tests for some reason (more segfaults).
That said, I think it is correct.
Probably just exposing errors from elsewher that haven't been addressed (maybe causing a double free).
2024-07-13 10:39:51 -07:00
Brendan Hansknecht
3c842196fa
Update LLVM to properly increment and decrement lists
2024-07-13 10:39:51 -07:00