diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2025-10-24 22:59:24 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-25 05:59:24 +0000 |
| commit | 168db5eca0da25b92a105c8df5c55ed7fd2d4cfc (patch) | |
| tree | 5fef062904b659bdcf1d6a5198881dea4e879681 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
| parent | 351dc85e006ffc81ea63ad19490ce9158b25d37b (diff) | |
| download | llvm-168db5eca0da25b92a105c8df5c55ed7fd2d4cfc.zip llvm-168db5eca0da25b92a105c8df5c55ed7fd2d4cfc.tar.gz llvm-168db5eca0da25b92a105c8df5c55ed7fd2d4cfc.tar.bz2 | |
[SpecialCaseList] Filtering Globs with matching prefix (#164531)
This commit optimizes `SpecialCaseList` by using a `RadixTree` to filter
glob patterns based on their prefixes. When matching a query, the
`RadixTree` quickly identifies all glob patterns whose prefixes match
the query's prefix. This significantly reduces the number of glob
patterns that need to be fully evaluated, leading to performance
improvements, especially when dealing with a large number of patterns.
According to SpecialCaseListBM:
Lookup benchmarks (significant improvements):
```
OVERALL_GEOMEAN -0.8177
```
Lookup like `prefix*` benchmarks (huge improvements):
```
OVERALL_GEOMEAN -0.9819
```
https://gist.github.com/vitalybuka/824884bcbc1713e815068c279159dafe
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions
