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
Michael Goulet
c361c924a0
Use assert_matches around the compiler
2024-08-11 12:25:39 -04:00
Ralf Jung
6d312d7bd1
MIR required_consts, mentioned_items: ensure we do not forget to fill these lists
2024-08-01 15:49:25 +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
hattizai
ada9fda7c3
chore: remove duplicate words
2024-07-02 11:25:31 +08:00
bors
5ced3dad57
Auto merge of #125853 - tesuji:promote-fail-fast, r=cjgillot
...
promote_consts: some clean-up after experimenting
This is some clean-up after experimenting in #125916 ,
Prefer to review commit-by-commit.
2024-06-21 16:00:14 +00:00
Lzu Tao
62a287528a
Reuse allocation for Vec<Candidate>
2024-06-21 13:51:33 +00:00
Lzu Tao
c03659443a
promote_consts: eargerly return when there are no candidates
...
There is no need to do it when mustn't.
2024-06-16 09:39:42 +00:00
Lzu Tao
28708912fb
prefer tracing::instrument over debug strings
2024-06-16 09:39:42 +00:00
Ralf Jung
ed1618dedc
MIR visitor: constant -> const_operand
2024-06-13 15:37:13 +02:00
Ralf Jung
3c57ea0df7
ScalarInt: size mismatches are a bug, do not delay the panic
2024-06-10 13:43:16 +02:00
Scott McMurray
459ce3f6bb
Add an intrinsic for ptr::metadata
2024-05-28 09:28:51 -07:00
Jubilee Young
87048a46fc
compiler: unnest rustc_const_eval::check_consts
2024-05-24 09:56:56 -07:00
Scott McMurray
95c0e5c6a8
Remove Rvalue::CheckedBinaryOp
2024-05-17 20:33:02 -07:00
Nicholas Nethercote
d49d4ae192
Remove extern crate rustc_middle from rustc_mir_transform.
2024-05-13 08:20:18 +10:00
Ralf Jung
173d1bd36b
properly fill a promoted's required_consts
...
then we can also make all_required_consts_are_checked a constant instead of a function
2024-04-23 23:02:54 +02:00
Ralf Jung
b2b617a88e
compute required_consts before promotion, and add promoteds that may fail
2024-04-23 22:52:43 +02:00
Ralf Jung
7183fa09bb
promotion: do not promote const-fn calls in const when that may fail without the entire const failing
2024-04-23 22:52:43 +02:00
Nadrieril
50531806ee
Add a non-shallow fake borrow
2024-04-20 16:01:35 +02:00
Ralf Jung
42220f0930
ScalarInt: add methods to assert being a (u)int of given size
2024-04-19 13:51:52 +02:00
joboet
989660c3e6
rename expose_addr to expose_provenance
2024-04-03 16:00:38 +02:00
Scott McMurray
3da115a93b
Add+Use mir::BinOp::Cmp
2024-03-23 23:23:41 -07:00
Ralf Jung
6177530420
refactor check_{lang,library}_ub: use a single intrinsic, put policy into library
2024-03-23 18:45:05 +01:00
Michael Goulet
ff0c31e6b9
Programmatically convert some of the pat ctors
2024-03-22 11:13:29 -04:00
Michael Goulet
f0f224a37f
Ty::new_ref and Ty::new_ptr stop using TypeAndMut
2024-03-22 11:13:27 -04:00
Ben Kimock
5a93a59fd5
Distinguish between library and lang UB in assert_unsafe_precondition
2024-03-08 18:53:58 -05:00
Ralf Jung
f32095cd8d
promotion: don't promote int::MIN / -1
2024-02-24 12:17:37 +01:00
Ben Kimock
8836ac5758
Add a new debug_assertions instrinsic (compiler)
...
And in clippy
2024-02-08 11:49:08 -05:00
Martin Nordholts
16ba56c242
compiler: Lower fn call arg spans down to MIR
...
To enable improved accuracy of diagnostics in upcoming commits.
2024-01-15 19:07:11 +01:00
Camille GILLOT
5d6463c26c
Make match exhaustive.
2024-01-08 22:42:07 +00:00
Camille GILLOT
cae0dc2833
Simplify code flow.
2024-01-08 22:42:07 +00:00
Camille GILLOT
8356802862
Move promote_consts back to rustc_mir_transform.
2024-01-08 22:42:07 +00:00