diff options
author | Nikita Popov <npopov@redhat.com> | 2025-09-16 09:24:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-16 09:24:02 +0200 |
commit | 7af659d0f117802627fc47f73ca5dd20439c5d7b (patch) | |
tree | 612b9d8c01845298e59903b9700c819e11645261 /clang/lib/AST/ByteCode/Compiler.cpp | |
parent | 63dc07f7d5b3da816afcf9c234e117c2780e71ed (diff) | |
download | llvm-7af659d0f117802627fc47f73ca5dd20439c5d7b.zip llvm-7af659d0f117802627fc47f73ca5dd20439c5d7b.tar.gz llvm-7af659d0f117802627fc47f73ca5dd20439c5d7b.tar.bz2 |
[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 https://github.com/llvm/llvm-project/issues/156114.
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions