Make insert_iterations for interleaved writes more closely match
Some checks failed
Tests / 64 bit versions total: 7949, passed: 7949
Tests / Debug total: 7947, passed: 7947
Tests / SIMD fallback total: 7949, passed: 7949
Tests / Release [clang] total: 7949, passed: 7949
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc] total: 7949, failed: 2, passed: 7947
Tests / Release [clang,aarch64] total: 5268, passed: 5268
Tests / Coverage total: 5315, passed: 5315
weaselab/conflict-set/pipeline/head There was a failure building this commit

This commit is contained in:
2024-11-04 14:46:30 -08:00
parent f079d84bda
commit 4494359ca2

View File

@@ -4087,12 +4087,13 @@ void pointIter(Job *job, Context *context) {
MUSTTAIL return complete(job, context);
}
++context->iterations;
if (!job->getChildAndIndex(child, job->remaining.front())) [[unlikely]] {
*job->result = {job->n, job->remaining};
MUSTTAIL return complete(job, context);
}
++context->iterations;
job->continuation = PointIterTable<NodeTTo>::table[job->child.getType()];
__builtin_prefetch(job->child);
MUSTTAIL return keepGoing(job, context);
@@ -4193,11 +4194,12 @@ void prefixIter(Job *job, Context *context) {
}
}
++context->iterations;
if (!job->getChildAndIndex(child, job->remaining.front())) [[unlikely]] {
goto noNodeOnSearchPath;
}
++context->iterations;
job->continuation = PrefixIterTable<NodeTTo>::table[job->child.getType()];
__builtin_prefetch(job->child);
MUSTTAIL return keepGoing(job, context);
@@ -4267,11 +4269,12 @@ void beginIter(Job *job, Context *context) {
goto gotoEndIter;
}
++context->iterations;
if (!job->getChildAndIndex(child, job->begin.front())) [[unlikely]] {
goto gotoEndIter;
}
++context->iterations;
job->continuation = BeginIterTable<NodeTTo>::table[job->child.getType()];
__builtin_prefetch(job->child);
MUSTTAIL return keepGoing(job, context);
@@ -4331,13 +4334,14 @@ void endIter(Job *job, Context *context) {
MUSTTAIL return complete(job, context);
}
++context->iterations;
if (!job->getChildAndIndex(child, job->end.front())) [[unlikely]] {
*job->result = {job->n, job->begin, job->endNode, job->end};
assert(job->endNode != nullptr);
MUSTTAIL return complete(job, context);
}
++context->iterations;
job->continuation = EndIterTable<NodeTTo>::table[job->child.getType()];
__builtin_prefetch(job->child);
MUSTTAIL return keepGoing(job, context);