Commit Graph
612 Commits
Author SHA1 Message Date
andrew 769cf8de9a Bring back sequential read implementation
This will be used if there's only one check to perform or if the
compiler does not support musttail and preserve_none
2024-10-15 17:12:11 -07:00
andrew 5df25a138a Don't initialize max version if child doesn't exist 2024-10-15 12:55:28 -07:00
andrew 5013c689a0 Remove dead code 2024-10-14 22:06:48 -07:00
andrew 58aabe83f5 Improve codegen for tracking check metrics 2024-10-14 17:50:38 -07:00
andrew 0c8a051913 Avoid more branches on type 2024-10-14 17:16:56 -07:00
andrew 11e8717da8 Specific node overloads for checkMaxBetweenExclusive 2024-10-14 16:54:44 -07:00
andrew 824037bf32 Remove dead code 2024-10-13 21:28:27 -07:00
andrew 51b5f638a4 Combine terminal down_left_spine paths 2024-10-13 20:39:07 -07:00
andrew 767dacc742 Fully interleaved range read
Would be great to find a way to make this all more readable
2024-10-13 20:05:06 -07:00
andrew 978a7585b6 Remove backtrack label from checkRangeRightSide 2024-10-13 11:27:36 -07:00
andrew 71b3c7fb7f Stop tracking first iteration
We can tell with other means
2024-10-12 23:56:01 -07:00
andrew 420f50c40f Stop tracking searchPathLen 2024-10-12 23:34:46 -07:00
andrew 69a131df38 Prepare for interleaving checkRangeRightSide 2024-10-12 23:01:47 -07:00
andrew 8a4032e850 Remove dead code 2024-10-12 18:00:19 -07:00
andrew 8eb5e76336 Add short-circuiting back to range checks 2024-10-12 17:20:22 -07:00
andrew e8982074f2 Add short-circuiting back for range common prefix search 2024-10-12 17:10:19 -07:00
andrew f60833a57f Add short-circuiting back in for point and prefix checks 2024-10-12 17:05:47 -07:00
andrew 73f93edf49 Remove dead code 2024-10-12 12:56:13 -07:00
andrew 8bac1f66fc Remove searchPathLen 2024-10-12 11:12:12 -07:00
andrew 352c07cbc9 Use CheckJob::setResult 2024-10-12 00:01:35 -07:00
andrew 2e7e357355 Remove dead code 2024-10-11 23:47:32 -07:00
andrew 323b239411 Stop applying flatten attribute
This blows up the code size too much. I wonder if having all those
distinct possible program counters helps libfuzzer /shrug
2024-10-11 21:31:18 -07:00
andrew 6a12210866 Make better use of static node type info for check left side 2024-10-11 21:06:57 -07:00
andrew 416504158e Interleave checkRangeLeftSide 2024-10-11 20:56:40 -07:00
andrew b0bc68a14e Move checkRangeStartsWith out of finishCheckRangeRead
This is incrementally closer to where we want to be I think
2024-10-11 17:52:04 -07:00
andrew 0de85ecda0 Add done_common_prefix_iter 2024-10-11 17:33:31 -07:00
andrew 44afb8be00 Interleave the common prefix search in range check 2024-10-11 17:26:34 -07:00
andrew ecdbaaf2c1 Add missing MUSTTAIL 2024-10-11 16:51:00 -07:00
andrew fe9678787d Only require coverage of node-specific overloads of getFirstChildExists 2024-10-11 16:47:19 -07:00
andrew 0ac259c782 Interleaved implementation for checking prefix reads 2024-10-11 16:04:55 -07:00
andrew 8b1a0afc58 First continuation for interleaved check range read 2024-10-11 15:45:25 -07:00
andrew 2018fa277c Use a trampoline if musttail not available
For the previous approach to work, we would have had to lock in the
generated code for every function that needs to make tail calls in
assembly.
2024-10-10 17:30:16 -07:00
andrew 1faeb220d5 Implement keepGoing in asm if musttail is not available 2024-10-10 16:52:27 -07:00
andrew 0dc657bfeb Fix arm build 2024-10-10 16:07:28 -07:00
andrew b51ef97c71 Fix USE_SIMD_FALLBACK build 2024-10-10 15:56:16 -07:00
andrew e213237698 Remove some dead code 2024-10-10 13:21:13 -07:00
andrew a28283748c Interleaved check point read implementation 2024-10-10 11:55:46 -07:00
andrew cafa540fc8 Return tagged pointer from getChild 2024-10-10 10:24:38 -07:00
andrew b9c642d81d Return tagged pointer from getChildAndMaxVersion 2024-10-10 10:21:33 -07:00
andrew 7abb129f03 Tagged pointers 2024-10-10 10:17:06 -07:00
andrew 3739ccaaf2 Introduce TaggedNodePointer (not actually a tagged pointer yet) 2024-10-10 10:09:52 -07:00
andrew 656939560b Add GCOVR_EXCL_LINE on covered line 2024-09-14 14:35:51 -07:00
andrew 628d16b7e6 Annotate zero argument as maybe_unused 2024-09-14 13:47:08 -07:00
andrew d9e4a7d1b6 Remove bogus assert 2024-09-14 10:58:48 -07:00
andrew 52201fa4c7 Use signed compare
Unsigned compare is incorrect here
2024-09-13 22:55:22 -07:00
andrew 0814822d82 avx512 implementations for fixupMaxVersion 2024-09-13 22:01:56 -07:00
andrew 84c4d0fcba More usages of getNodeIndexExists 2024-09-12 22:22:16 -07:00
andrew 6241533dfb Improve codegen for getChildExists(Node{3,16}*, ...) 2024-09-12 22:05:00 -07:00
andrew 0abf6a1ecf Improve Node3 search codegen 2024-09-12 17:12:41 -07:00
andrew a0a4f1afea Only compile nanobench once 2024-09-09 20:10:55 -07:00