diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2025-01-18 13:58:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-18 13:58:01 +0100 |
| commit | 56447d738b197ac9643ce31530ce45d7f46edf74 (patch) | |
| tree | 0f8d29c9214c66c2b0c9fca03db50ba015a91da3 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | b78edd7957190cc8db3e3af43e0a4a5375ffdf79 (diff) | |
| parent | dee52a31789fb87e04b4762df5b84d52738b1adb (diff) | |
| download | rust-56447d738b197ac9643ce31530ce45d7f46edf74.tar.gz rust-56447d738b197ac9643ce31530ce45d7f46edf74.zip | |
Rollup merge of #135290 - lqd:polonius-next-episode-8, r=jackh726
Encode constraints that hold at all points as logical edges in location-sensitive polonius Currently, with the full setup in #134980 (but is from #134268), the polonius location-sensitive analysis converts `Locations::All` typeck constraints as edges at all points in the CFG. This was temporary. There's a FIXME about that already, and this PR implements it: we now use the constraints that hold at all points during traversal instead of eagerly materializing them as physical edges. Another easy one `@jackh726.` This fixes the slowness that was happening on the big CFG from the `saturating-float-casts` test (because of its 12M materialized edges) without, AFAICT, simply moving this overhead to traversal: materializing the logical edges is done on-demand. r? `@jackh726` (no rush either)
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
