Skip to content

Commit 9201731

Browse files
committed
Extra work in picking disjunction not necessary.
1 parent fcf742c commit 9201731

File tree

2 files changed

+2
-28
lines changed

2 files changed

+2
-28
lines changed

lib/Sema/CSSolver.cpp

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2292,25 +2292,8 @@ Constraint *ConstraintSystem::selectDisjunction() {
22922292
auto minDisjunction =
22932293
std::min_element(disjunctions.begin(), disjunctions.end(),
22942294
[&](Constraint *first, Constraint *second) -> bool {
2295-
unsigned firstFavored = first->countFavoredNestedConstraints();
2296-
unsigned secondFavored = second->countFavoredNestedConstraints();
2297-
2298-
if (firstFavored == secondFavored) {
2299-
// Look for additional choices to favor
2300-
SmallVector<Constraint *, 4> firstExisting;
2301-
SmallVector<Constraint *, 4> secondExisting;
2302-
2303-
existingOperatorBindingsForDisjunction(*cs, first->getNestedConstraints(), firstExisting);
2304-
firstFavored = firstExisting.size() ?: first->countActiveNestedConstraints();
2305-
existingOperatorBindingsForDisjunction(*cs, second->getNestedConstraints(), secondExisting);
2306-
secondFavored = secondExisting.size() ?: second->countActiveNestedConstraints();
2307-
2308-
return firstFavored < secondFavored;
2309-
} else {
2310-
firstFavored = firstFavored ?: first->countActiveNestedConstraints();
2311-
secondFavored = secondFavored ?: second->countActiveNestedConstraints();
2312-
return firstFavored < secondFavored;
2313-
}
2295+
return first->countActiveNestedConstraints() <
2296+
second->countActiveNestedConstraints();
23142297
});
23152298

23162299
if (minDisjunction != disjunctions.end())

lib/Sema/Constraint.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -597,15 +597,6 @@ class Constraint final : public llvm::ilist_node<Constraint>,
597597
return Nested;
598598
}
599599

600-
unsigned countFavoredNestedConstraints() const {
601-
unsigned count = 0;
602-
for (auto *constraint : Nested)
603-
if (constraint->isFavored() && !constraint->isDisabled())
604-
count++;
605-
606-
return count;
607-
}
608-
609600
unsigned countActiveNestedConstraints() const {
610601
unsigned count = 0;
611602
for (auto *constraint : Nested)

0 commit comments

Comments
 (0)