Camille GILLOT
e2387ad484
Remember where a type was kept in MIR.
2023-01-27 18:59:32 +00:00
Camille GILLOT
1974b6b68d
Introduce GeneratorWitnessMIR.
2023-01-27 18:58:44 +00:00
Erik Desjardins
009192b01b
abi: add AddressSpace
field to Primitive::Pointer
...
...and remove it from `PointeeInfo`, which isn't meant for this.
There are still various places (marked with FIXMEs) that assume all pointers
have the same size and alignment. Fixing this requires parsing non-default
address spaces in the data layout string, which will be done in a followup.
2023-01-22 23:41:39 -05:00
Michael Goulet
b25da9ce6d
layout_of: T: Thin
implies sizeof(&T) == sizeof(usize)
2023-01-04 00:56:05 +00:00
Jeremy Stucki
3dde32ca97
rustc: Remove needless lifetimes
2022-12-20 22:10:40 +01:00
Matthias Krüger
5d24760245
Rollup merge of #105623 - compiler-errors:generator-type-size-fix, r=Nilstrieb
...
Fix `-Z print-type-sizes` for generators with discriminant field ordered first
Fixes #105589
Fixes #105591
2022-12-15 12:46:00 +01:00
Michael Goulet
5f5ae17f4e
Consider discriminant fields that are ordered before variant fields
2022-12-14 17:50:20 +00:00
Michael Goulet
96cb18e864
Combine identical alias arms
2022-12-13 17:48:55 +00:00
Michael Goulet
61adaf8187
Combine projection and opaque into alias
2022-12-13 17:48:55 +00:00
Michael Goulet
7d23e29f9f
Pull out logic into distinct functions
2022-12-08 04:59:10 +00:00
Michael Goulet
57b722688d
Properly print generator interior type sizes
2022-12-07 18:33:26 +00:00
Michael Goulet
b45b9489bb
Compute generator sizes with -Zprint_type_sizes
2022-12-07 03:10:56 +00:00
Oli Scherer
2b8963a94c
Some manual formatting of let..else statements
2022-11-25 08:00:02 +00:00
hkalbasi
390a637e29
move things from rustc_target::abi to rustc_abi
2022-11-24 16:26:13 +03:30
hkalbasi
27fb904d68
move some layout logic to rustc_target::abi::layout
2022-11-24 16:26:12 +03:30
hkalbasi
09a384643e
make rustc_target usable outside of rustc
2022-11-24 16:26:12 +03:30
The 8472
97d8a9bdd3
also sort fields by niche sizes to retain optimizations
2022-11-22 23:12:26 +01:00
The 8472
a3450d060d
group fields based on largest power of two dividing its size
2022-11-22 23:12:26 +01:00
The 8472
9f0cb566ea
optimize field ordering by grouping power-of-two arrays with larger types
2022-11-22 23:12:26 +01:00
Cameron Steffen
cc8dddbac9
Factor out conservative_is_privately_uninhabited
2022-11-20 19:04:11 -06:00
Ralf Jung
c78021709a
add is_sized method on Abi and Layout, and use it
2022-11-13 12:23:53 +01:00
Maybe Waffle
a17ccfa621
Accept TyCtxt
instead of TyCtxtAt
in Ty::is_*
functions
...
Functions in answer:
- `Ty::is_freeze`
- `Ty::is_sized`
- `Ty::is_unpin`
- `Ty::is_copy_modulo_regions`
2022-10-27 15:06:08 +04:00
Oli Scherer
c7b6ebdf7c
It's not about types or consts, but the lack of regions
2022-10-04 14:10:44 +00:00
Cameron Steffen
95b689b1d5
Move utils from rustc_middle to rustc_ty_utils
2022-10-03 09:12:03 -05:00