Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Nicholas Nethercote
7023402691
Remove references from some structs.
...
In all cases the struct can own the relevant thing instead of having a
reference to it. This makes the code simpler, and in some cases removes
a struct lifetime.
2024-09-10 09:11:17 +10:00
Nicholas Nethercote
6af470e360
Reduce visibilities, and add warn(unreachable_pub)
.
...
Lots of unnecessary `pub`s in this crate. Most are downgraded to
`pub(super)`, though some don't need any visibility.
2024-09-09 08:48:09 +10:00
Matthias Krüger
4ed0f0d384
Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot
...
Move `SanityCheck` and `MirPass`
They are currently in `rustc_middle`. This PR moves them to `rustc_mir_transform`, which makes more sense.
r? ``@cjgillot``
2024-09-03 19:13:27 +02:00
Nicholas Nethercote
2aae619edb
Move MirPass
to rustc_mir_transform
.
...
Because that's now the only crate that uses it.
Moving stuff out of `rustc_middle` is always welcome.
I chose to use `impl crate::MirPass`/`impl crate::MirLint` (with
explicit `crate::`) everywhere because that's the only mention of
`MirPass`/`MirLint` used in all of these files. (Prior to this change,
`MirPass` was mostly imported via `use rustc_middle::mir::*` items.)
2024-09-03 16:03:46 +10:00
Alexander Cyon
00de006f22
chore: Fix typos in 'compiler' (batch 2)
2024-09-02 07:50:22 +02:00
Nicholas Nethercote
ed5161c5ac
Remove #[macro_use] extern crate tracing
from rustc_mir_transform
.
2024-08-30 10:01:34 +10:00
Ralf Jung
35709be02d
rename AddressOf -> RawBorrow inside the compiler
2024-08-18 19:46:53 +02:00
Nicholas Nethercote
84ac80f192
Reformat use
declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Nicholas Nethercote
d49d4ae192
Remove extern crate rustc_middle
from rustc_mir_transform
.
2024-05-13 08:20:18 +10:00
Camille GILLOT
308cc76510
GVN borrowed locals too.
2024-04-20 19:19:06 +00:00
Shoyu Vanilla
3856df059e
Dejargnonize subst
2024-02-12 15:46:35 +09:00
Tomasz Miąsko
b4877753c3
Don't require owned data in MaybeStorageDead
2023-12-21 12:58:39 +01:00
surechen
40ae34194c
remove redundant imports
...
detects redundant imports that can be eliminated.
for #117772 :
In order to facilitate review and modification, split the checking code and
removing redundant imports code into two PR.
2023-12-10 10:56:22 +08:00
Michael Goulet
b2d2184ede
Format all the let chains in compiler
2023-10-13 08:59:36 +00:00
Camille GILLOT
8b848af325
Add global value numbering pass.
2023-09-24 09:09:04 +00:00
Camille GILLOT
933b618360
Revert "Implement references VarDebugInfo."
...
This reverts commit 2ec0071913
.
2023-08-17 17:02:04 +00:00
Camille GILLOT
a5031d569e
Call super for debuginfo.
2023-07-10 16:01:19 +00:00
Camille GILLOT
b4c342edea
Simplify visit_place.
2023-07-10 16:01:19 +00:00
Camille GILLOT
b74a144a5f
Enable by default.
2023-07-10 16:01:18 +00:00
Camille GILLOT
13fb0794ac
Do not ICE on deeply nested borrows.
2023-05-13 10:29:05 +00:00
Camille GILLOT
19652377c3
Iterate ReferencePropagation to fixpoint.
2023-05-13 10:17:28 +00:00
Camille GILLOT
2ec0071913
Implement references VarDebugInfo.
2023-05-13 10:12:14 +00:00
Camille GILLOT
9fb1c73a73
Avoid shadowing.
2023-05-10 19:23:01 +00:00
Camille GILLOT
aeac555578
Do not see through copies of mutable pointers.
2023-05-10 19:22:57 +00:00
Camille GILLOT
d0d4e0237f
Iteratively replace pointers.
2023-05-10 19:22:54 +00:00
Camille GILLOT
a67bf08ed7
Only check storage liveness for direct projections.
2023-05-09 17:59:35 +00:00
Camille GILLOT
3b4e1fe104
Do not check StorageLive dominates address-taking.
2023-05-09 17:59:35 +00:00
Camille GILLOT
0bd9bd6b8a
Explicit performance concern.
2023-05-09 17:59:35 +00:00
Camille GILLOT
3c43b61b87
Do not consider borrowed Freeze locals as SSA.
2023-05-09 17:59:35 +00:00
Camille GILLOT
3490375570
Implement SSA-based reference propagation.
2023-05-09 17:59:34 +00:00