Michael Goulet
e83e4e8112
Get rid of const eval_* and try_eval_* helpers
2024-10-19 18:07:35 +00:00
Folkert de Vries
5fc60d1e52
various fixes for naked_asm!
implementation
...
- fix for divergence
- fix error message
- fix another cranelift test
- fix some cranelift things
- don't set the NORETURN option for naked asm
- fix use of naked_asm! in doc comment
- fix use of naked_asm! in run-make test
- use `span_bug` in unreachable branch
2024-10-06 19:00:09 +02:00
Michael Goulet
c682aa162b
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
Nicholas Nethercote
dc62f07458
Remove Gatherer
.
...
It's a very thin wrapper that pairs `MoveDataBuilder` with a `Location`,
and it has four lifetime arguments. This commit removes it by just
adding a `Location` to `MoveDataBuilder`.
2024-09-09 16:33:27 +10:00
Nicholas Nethercote
8a8dd3f33e
Add warn(unreachable_pub)
to rustc_mir_dataflow
.
2024-08-29 20:13:06 +10:00
Ralf Jung
35709be02d
rename AddressOf -> RawBorrow inside the compiler
2024-08-18 19:46:53 +02:00
Nicholas Nethercote
c4717cc9d1
Shrink TyKind::FnPtr
.
...
By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and
`FnHeader`, which can be packed more efficiently. This reduces the size
of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms.
This reduces peak memory usage by a few percent on some benchmarks. It
also reduces cache misses and page faults similarly, though this doesn't
translate to clear cycles or wall-time improvements on CI.
2024-08-09 14:33:25 +10: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
Maybe Waffle
484152d562
Support tail calls in mir via TerminatorKind::TailCall
2024-07-07 17:11:04 +02:00
Nicholas Nethercote
9287aede31
Remove #[macro_use] extern crate tracing
from rustc_mir_dataflow
.
2024-05-23 18:02:40 +10:00
Scott McMurray
95c0e5c6a8
Remove Rvalue::CheckedBinaryOp
2024-05-17 20:33:02 -07:00
Matthias Krüger
784316eadc
Rollup merge of #124511 - nnethercote:rm-extern-crates, r=fee1-dead
...
Remove many `#[macro_use] extern crate foo` items
This requires the addition of more `use` items, which often make the code more verbose. But they also make the code easier to read, because `#[macro_use]` obscures where macros are defined.
r? `@fee1-dead`
2024-04-30 15:04:08 +02:00
Nicholas Nethercote
99e036bd21
Remove extern crate rustc_middle
from numerous crates.
2024-04-29 14:50:45 +10:00
beepster4096
17073464ad
remove optionality from MoveData::base_local
2024-04-19 16:50:46 -07:00
Oli Scherer
84acfe86de
Actually create ranged int types in the type system.
2024-04-08 12:02:19 +00: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
Ben Kimock
5a93a59fd5
Distinguish between library and lang UB in assert_unsafe_precondition
2024-03-08 18:53:58 -05:00
Gary Guo
3b1dd1bfa9
Implement asm goto in MIR and MIR lowering
2024-02-24 18:50:09 +00:00
Gary Guo
b044aaa905
Change InlineAsm to allow multiple targets instead
2024-02-24 18:50:09 +00:00
Matthias Krüger
30057f0266
Rollup merge of #120802 - oli-obk:drop_elab_ice, r=compiler-errors
...
Bail out of drop elaboration when encountering error types
fixes #120788
2024-02-13 06:27:38 +01:00
Oli Scherer
2d73597b93
Bail out of drop elaboration when encountering error types
2024-02-08 17:51:32 +00:00
Ben Kimock
8836ac5758
Add a new debug_assertions instrinsic (compiler)
...
And in clippy
2024-02-08 11:49:08 -05:00
Michael Goulet
c567eddec2
Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs
2024-02-06 02:22:58 +00: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
Michael Goulet
fcb42b42d6
Remove movability from TyKind::Coroutine
2023-12-28 16:35:01 +00:00
Nicholas Nethercote
7060fc8327
Replace no_ord_impl
with orderable
.
...
Similar to the previous commit, this replaces `newtype_index`'s opt-out
`no_ord_impl` attribute with the opt-in `orderable` attribute.
2023-11-22 18:38:17 +11:00
Camille GILLOT
7ae1851803
Use terse form for Fn bound.
2023-10-21 12:09:02 +00:00
Camille GILLOT
252c64722f
Parametrize gather_moves by filter.
2023-10-21 10:31:39 +00:00
Camille GILLOT
4bedd7de6e
Stop computing error info in move path builder.
2023-10-21 10:30:58 +00:00
Camille GILLOT
90e6d29955
Avoid using a magic value for untracked locals.
2023-10-21 10:30:16 +00:00
Camille GILLOT
8d535070a2
Do not report errors from move path builder.
2023-10-21 10:29:40 +00:00
Oli Scherer
60956837cf
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
ouz-a
5d753abb30
have better explanation for relate_types
2023-10-02 23:39:45 +03:00
ouz-a
cd7f471931
Add docs, remove code, change subtyper code
2023-10-02 23:39:44 +03:00
ouz-a
3148e6a993
subtyping_projections
2023-10-02 23:37:49 +03:00
Camille GILLOT
44ac8dcc71
Remove GeneratorWitness and rename GeneratorWitnessMIR.
2023-09-23 13:47:30 +00:00
ouz-a
63df126f59
match array for constantindex and subslice
2023-09-22 16:28:45 +03:00
ouz-a
442c87a0b0
better bug message
2023-09-22 11:31:45 +03:00
ouz-a
d6efedcaf5
remove inner match
2023-09-22 11:21:55 +03:00
ouz-a
0cb22a66eb
very verbose error handling
2023-09-12 21:09:29 +03:00
ouz-a
22b1acb455
match on elem first
2023-09-12 10:28:37 +03:00
Ralf Jung
4c53783f3c
when terminating during unwinding, show the reason why
2023-08-24 13:28:26 +02:00
Ralf Jung
818ec8e23a
give some unwind-related terminators a more clear name
2023-08-20 15:52:38 +02:00
DrMeepster
b0dbd60040
optimization round 2
...
- moved work from `find_local` to `gather_statement`
- created custom iterator for `iter_projections`
- reverted change from `IndexVec` to `FxIndexMap`
2023-07-10 20:46:01 -07:00
DrMeepster
d1c9696b7d
bring back un_derefer and rewrite it again
2023-07-04 13:45:23 -07:00
DrMeepster
4fbd6d5af4
Merge un_derefer
into MovePathLookup
2023-06-29 22:14:27 -07:00
bors
b9ad9b78a2
Auto merge of #112693 - ericmarkmartin:use-more-placeref, r=spastorino
...
Use PlaceRef abstractions more often
Associated issue: https://github.com/rust-lang/rust/issues/80647
r? `@spastorino`
2023-06-27 00:34:49 +00:00
Eric Mark Martin
c07c10d1e4
use PlaceRef abstractions more consistently
2023-06-25 20:38:01 -04:00
Deadbeef
89c24af133
Better error for non const PartialEq
call generated by match
2023-06-18 05:24:38 +00:00