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
Jannis Christopher Köhl
ad99d2e15d
Move handling of references and simplify flooding
2022-11-07 10:35:11 +01:00
Jannis Christopher Köhl
3f98dc7838
Clarify place expressions vs place objects
2022-11-07 10:35:11 +01:00
Jannis Christopher Köhl
e75ad93d95
Begin a semi-formal argument for correctness
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
292869493c
Add additional flooding when assigning a value and corresponding test
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
bb1639769e
Clarify registration and tracking of references
2022-11-07 10:35:10 +01:00
Jannis Christopher Köhl
56ff16d19f
Fix spelling
2022-11-07 10:35:09 +01:00
Jannis Christopher Köhl
d0afe6833d
Try field type normalization instead of forcing it
2022-11-07 10:35:08 +01:00
Jannis Christopher Köhl
4f9c30fb67
Add initial version of value analysis and dataflow constant propagation
2022-11-07 10:35:08 +01:00
Oli Scherer
44d1936d00
Some tracing and comment cleanups
2022-11-04 17:10:07 +00:00
Nilstrieb
c65ebae221
Migrate all diagnostics
2022-10-23 10:09:44 +02:00
Matthias Krüger
c731646d6a
Rollup merge of #102675 - ouz-a:mir-technical-debt, r=oli-obk
...
Remove `mir::CastKind::Misc`
As discussed in #97649 `mir::CastKind::Misc` is not clear, this PR addresses that by creating a new enum variant for every valid cast.
r? ````@oli-obk````
2022-10-08 14:38:18 +02:00
ouz-a
d59c7ff000
Remove mir::CastKind::Misc
2022-10-06 15:32:41 +03:00
reez12g
9a4c5abe45
Remove from compiler/ crates
2022-09-29 16:49:04 +09:00
Pietro Albini
3975d55d98
remove cfg(bootstrap)
2022-09-26 10:14:45 +02:00
Jhonny Bill Mena
a3396b2070
UPDATE - rename DiagnosticHandler macro to Diagnostic
2022-09-21 11:39:53 -04:00
Jhonny Bill Mena
19b348fed4
UPDATE - rename DiagnosticHandler trait to IntoDiagnostic
2022-09-21 11:39:52 -04:00
bors
4136b59b7d
Auto merge of #99806 - oli-obk:unconstrained_opaque_type, r=estebank
...
Allow patterns to constrain the hidden type of opaque types
fixes #96572
reverts a revert as original PR was a perf regression that was fixed by reverting it: https://github.com/rust-lang/rust/pull/99368#issuecomment-1186587864 )
TODO:
* check if https://github.com/rust-lang/rust/issues/99685 is avoided
2022-09-20 12:09:52 +00:00
Oli Scherer
dab1074b91
Only generate OpaqueCast
for opaque types
2022-09-16 11:37:50 +00:00
Oli Scherer
40e2de8c41
Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank""
...
This reverts commit 4a742a691e
.
2022-09-16 11:36:39 +00:00
est31
173eb6f407
Only enable the let_else feature on bootstrap
...
On later stages, the feature is already stable.
Result of running:
rg -l "feature.let_else" compiler/ src/librustdoc/ library/ | xargs sed -s -i "s#\\[feature.let_else#\\[cfg_attr\\(bootstrap, feature\\(let_else\\)#"
2022-09-15 21:06:45 +02:00
Oli Scherer
b7413511dc
Generalize the Assume intrinsic statement to a general Intrinsic statement
2022-09-06 14:18:32 +00:00
Oli Scherer
3f07645120
Lower the assume intrinsic to a MIR statement
2022-09-06 14:18:32 +00:00