Camille GILLOT
67a8c16fe2
Complete for_each_aliasing_place.
2023-02-06 22:01:07 +00:00
Camille GILLOT
9af191f86f
Improve value_analysis API.
2023-02-06 21:58:07 +00:00
Camille GILLOT
c48756cdbf
Limit creation of tracked place directly.
2023-02-06 21:55:05 +00:00
Camille GILLOT
9a6c04f5d0
Handle discriminants in dataflow-const-prop.
2023-02-06 21:51:47 +00:00
Camille GILLOT
cd3649b2a5
Only exclude locals if the place is not indirect.
2023-02-06 21:51:45 +00:00
Camille GILLOT
0d59b8c997
Remove redundant test.
2023-02-06 21:29:02 +00:00
Camille GILLOT
8e05ab04e5
Run SROA to fixpoint.
2023-02-05 12:08:42 +00:00
Camille GILLOT
42c9514629
Simplify construction of replacement map.
2023-02-05 11:44:18 +00:00
Bryan Garza
360db516cc
Create stable metric to measure long computation in Const Eval
...
This patch adds a `MirPass` that tracks the number of back-edges and
function calls in the CFG, adds a new MIR instruction to increment a
counter every time they are encountered during Const Eval, and emit a
warning if a configured limit is breached.
2023-01-23 23:56:22 +00:00
nils
fd7a159710
Fix uninlined_format_args
for some compiler crates
...
Convert all the crates that have had their diagnostic migration
completed (except save_analysis because that will be deleted soon and
apfloat because of the licensing problem).
2023-01-05 19:01:12 +01:00
Jeremy Stucki
3dde32ca97
rustc: Remove needless lifetimes
2022-12-20 22:10:40 +01:00
Rémy Rakic
8275d115fb
Revert "Auto merge of #103880 - b-naber:field-ty-mir, r=lcnr"
...
This reverts commit 03770f0e2b
, reversing
changes made to 01ef4b21dc
.
2022-12-19 15:31:20 +00:00
bors
03770f0e2b
Auto merge of #103880 - b-naber:field-ty-mir, r=lcnr
...
Use non-ascribed type as field's type in mir
Fixes https://github.com/rust-lang/rust/issues/96514
r? `@lcnr`
2022-12-16 12:47:49 +00:00
Rageking8
58110572fb
fix dupe word typos
2022-12-05 16:42:36 +08:00
b-naber
9061ffba8c
use no type in ProjectionElem::Field for PlaceBuilder::UpVar
2022-11-23 21:25:27 +01:00
Matthias Krüger
e3036df003
couple of clippy::perf fixes
2022-11-18 10:30:47 +01:00
Jannis Christopher Köhl
108790b8dc
Remove log statement that was commented out
2022-11-12 20:32:09 +01:00
Jannis Christopher Köhl
2e034dc68c
Exclude locals completely, instead of individual places
2022-11-12 14:57:14 +01:00
Jannis Christopher Köhl
3c6d1a723d
Add test for repr(transparent) with scalar
2022-11-11 11:24:31 +01:00
Jannis Christopher Köhl
8ecb276735
Simplify creation of map
2022-11-10 19:12:10 +01:00
Jannis Christopher Köhl
9766ee0b20
Fix struct field tracking and add tests for it
2022-11-09 18:21:42 +01:00
Jannis Christopher Köhl
bfbca6c75c
Completely remove tracking of references for now
2022-11-09 18:03:30 +01:00
Jannis Christopher Köhl
3997893ccb
Fix rebase
2022-11-07 11:01:44 +01:00
Jannis Christopher Köhl
89f934917d
Small corrections of documentation
2022-11-07 10:35:26 +01:00
Jannis Christopher Köhl
630e17d3e4
Limit number of tracked places, and some other perf improvements
2022-11-07 10:35:26 +01:00
Jannis Christopher Köhl
1f82a9f89e
Move HasTop and HasBottom into lattice.rs
2022-11-07 10:35:25 +01:00
Jannis Christopher Köhl
de69d088a4
Explicitly match all terminators
2022-11-07 10:35:24 +01:00
Jannis Christopher Köhl
5b7b309c60
Improve documentation of assumptions
2022-11-07 10:35:24 +01:00
Jannis Christopher Köhl
274a49132b
Improve documentation, plus some small changes
2022-11-07 10:35:23 +01:00
Jannis Christopher Köhl
aaa35b3e48
Add comment for the current retag situation
2022-11-07 10:35:22 +01:00
Jannis Christopher Köhl
3c0f3b04b5
Only assume Stacked Borrows if -Zunsound-mir-opts is given
2022-11-07 10:35:21 +01:00
Jannis Christopher Köhl
111324e17c
Prevent registration inside references if target is !Freeze
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
4478a87018
Fix formatting
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
7ab1ba95de
Remove Unknown
state in favor of Value(Top)
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
1765587846
Only track (trivially) freeze types
2022-11-07 10:35:20 +01:00
Jannis Christopher Köhl
b5063ab0e5
Make more assumptions explicit
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
2f66e9417f
Flood with bottom for Deinit, StorageLive and StorageDead
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
eab77320e6
Handle NonDivergingIntrinsic and CopyNonOverlapping
2022-11-07 10:35:19 +01:00
Jannis Christopher Köhl
f99950f6ae
Update test results after rebase
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
c56e99cdba
Fix typo
2022-11-07 10:35:18 +01:00
Jannis Christopher Köhl
13b70599c1
Only allow registration of scalars for now
2022-11-07 10:35:16 +01:00
Jannis Christopher Köhl
817c27744d
Handle StorageLive
2022-11-07 10:35:16 +01:00
Jannis Christopher Köhl
e2ddf8a6e5
Add comment about downcast projection element
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
1e5ca57014
Use StorageDead and Deinit to flood place
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
904adcac0f
Flood place on drop
2022-11-07 10:35:15 +01:00
Jannis Christopher Köhl
2113e45488
Remove superfluous line
2022-11-07 10:35:14 +01:00
Jannis Christopher Köhl
2e4d0820d2
Add more documentation
2022-11-07 10:35:14 +01:00
Jannis Christopher Köhl
fe84bbf844
Add tracking of unreachability
2022-11-07 10:35:13 +01:00
Jannis Christopher Köhl
16dedba1c8
Ignore terminators explicitly
2022-11-07 10:35:13 +01:00
Jannis Christopher Köhl
8a789ce009
Reject registration of downcasts for now
2022-11-07 10:35:12 +01:00