don't extend table entries that are already unambiguous
This commit is contained in:
parent
428636f3d0
commit
8da48913b1
1 changed files with 6 additions and 0 deletions
|
|
@ -111,6 +111,12 @@ static void stringmap_merge(HHashSet *workset, HCFStringMap *dst, HCFStringMap *
|
||||||
combine_entries(workset, dst->epsilon_branch, src->epsilon_branch);
|
combine_entries(workset, dst->epsilon_branch, src->epsilon_branch);
|
||||||
else
|
else
|
||||||
dst->epsilon_branch = src->epsilon_branch;
|
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) {
|
if(src->end_branch) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue