diff options
| author | bors <bors@rust-lang.org> | 2023-02-16 16:11:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-02-16 16:11:54 +0000 |
| commit | c5d1b3ea9665e77e3af2f17b311bf65469eedc19 (patch) | |
| tree | 86493d29ad1fbfdf42869d9c848c8b4336f42360 /compiler/rustc_mir_transform/src | |
| parent | af3c8b27266e290cf65704284f6862d0f90ee4fc (diff) | |
| parent | 9a53cee8681348a7ba46158a4e80d36b1b9789d8 (diff) | |
| download | rust-c5d1b3ea9665e77e3af2f17b311bf65469eedc19.tar.gz rust-c5d1b3ea9665e77e3af2f17b311bf65469eedc19.zip | |
Auto merge of #108020 - nnethercote:opt-mk_region, r=compiler-errors
Optimize `mk_region` PR #107869 avoiding some interning under `mk_ty` by special-casing `Ty` variants with simple (integer) bodies. This PR does something similar for regions. r? `@compiler-errors`
Diffstat (limited to 'compiler/rustc_mir_transform/src')
| -rw-r--r-- | compiler/rustc_mir_transform/src/large_enums.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/compiler/rustc_mir_transform/src/large_enums.rs b/compiler/rustc_mir_transform/src/large_enums.rs index 194c41c6ba1..2ca33a624e2 100644 --- a/compiler/rustc_mir_transform/src/large_enums.rs +++ b/compiler/rustc_mir_transform/src/large_enums.rs @@ -3,7 +3,7 @@ use crate::MirPass; use rustc_data_structures::fx::FxHashMap; use rustc_middle::mir::interpret::AllocId; use rustc_middle::mir::*; -use rustc_middle::ty::{self, AdtDef, Const, ParamEnv, Ty, TyCtxt}; +use rustc_middle::ty::{self, AdtDef, ParamEnv, Ty, TyCtxt}; use rustc_session::Session; use rustc_target::abi::{HasDataLayout, Size, TagEncoding, Variants}; @@ -141,10 +141,7 @@ impl EnumSizeOpt { self.candidate(tcx, param_env, ty, &mut alloc_cache)?; let alloc = tcx.global_alloc(alloc_id).unwrap_memory(); - let tmp_ty = tcx.mk_ty(ty::Array( - tcx.types.usize, - Const::from_target_usize(tcx, num_variants as u64), - )); + let tmp_ty = tcx.mk_array(tcx.types.usize, num_variants as u64); let size_array_local = local_decls.push(LocalDecl::new(tmp_ty, span)); let store_live = Statement { |
