1
Fork 0
rust/compiler/rustc_mir_dataflow/src
bors e9c965df7b Auto merge of #128812 - nnethercote:shrink-TyKind-FnPtr, r=compiler-errors
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.

r? `@compiler-errors`
2024-08-14 00:56:53 +00:00
..
framework Reformat use declarations. 2024-07-29 08:26:52 +10:00
impls Use assert_matches around the compiler 2024-08-11 12:25:39 -04:00
move_paths Shrink TyKind::FnPtr. 2024-08-09 14:33:25 +10:00
debuginfo.rs Preserve DebugInfo in DeadStoreElimination. 2023-10-06 15:46:11 +00:00
drop_flag_effects.rs Stop using MoveDataParamEnv for places that don't need a param-env 2024-07-29 11:59:47 -04:00
elaborate_drops.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
errors.rs Migrate all diagnostics 2022-10-23 10:09:44 +02:00
lib.rs Use assert_matches around the compiler 2024-08-11 12:25:39 -04:00
points.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
rustc_peek.rs Stop using MoveDataParamEnv for places that don't need a param-env 2024-07-29 11:59:47 -04:00
storage.rs Replace Body::basic_blocks() with field access 2022-08-26 14:27:08 +02:00
un_derefer.rs Avoid unnecessary exports. 2023-11-23 14:06:57 +11:00
value_analysis.rs Use assert_matches around the compiler 2024-08-11 12:25:39 -04:00