Commit b708aea
[SCEV] Don't perform implication checks with many predicates (#158652)
When adding a new predicate to a union, we currently do a bidirectional
implication for all the contained predicates. This means that the number
of implication checks is quadratic in the number of total predicates (if
they don't end up being eliminated).
Fix this by not checking for implication if the number of predicates
grows too large. The expectation is that if there is a large number of
predicates, we should be discarding them later anyway, as expanding them
would be too expensive.
Fixes #156114.
(cherry picked from commit 7af659d)1 parent 77a3b0e commit b708aea
1 file changed
+7
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15093 | 15093 | | |
15094 | 15094 | | |
15095 | 15095 | | |
| 15096 | + | |
| 15097 | + | |
| 15098 | + | |
| 15099 | + | |
| 15100 | + | |
15096 | 15101 | | |
15097 | | - | |
| 15102 | + | |
15098 | 15103 | | |
15099 | 15104 | | |
15100 | 15105 | | |
15101 | 15106 | | |
15102 | 15107 | | |
15103 | 15108 | | |
15104 | | - | |
| 15109 | + | |
15105 | 15110 | | |
15106 | 15111 | | |
15107 | 15112 | | |
| |||
0 commit comments