don't extend table entries that are already unambiguous

This commit is contained in:
Sven M. Hallberg 2013-05-24 01:49:39 +02:00
parent 428636f3d0
commit 8da48913b1

View file

@ -111,6 +111,12 @@ static void stringmap_merge(HHashSet *workset, HCFStringMap *dst, HCFStringMap *
combine_entries(workset, dst->epsilon_branch, src->epsilon_branch);
else
dst->epsilon_branch = src->epsilon_branch;
} else {
// if there is a non-conflicting value on the left (dst) side, it means
// that prediction is already unambiguous. we can drop the right (src)
// side we were going to extend with.
if(dst->epsilon_branch && dst->epsilon_branch != CONFLICT)
return;
}
if(src->end_branch) {