Commit Graph

58 Commits

Author SHA1 Message Date
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