diff options
| author | bors <bors@rust-lang.org> | 2024-09-21 07:00:52 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-09-21 07:00:52 +0000 |
| commit | 74fd001cdae0321144a20133f2216ea8a97da476 (patch) | |
| tree | 8c25cac318c638e5aed9fb64678176a23741bac5 /compiler/rustc_codegen_ssa/src/mir | |
| parent | c0838c8ebec23fb87855bb6de3a287981cb1df98 (diff) | |
| parent | 5770ba86860a7594189e69c5d34a730ca46344bd (diff) | |
| download | rust-74fd001cdae0321144a20133f2216ea8a97da476.tar.gz rust-74fd001cdae0321144a20133f2216ea8a97da476.zip | |
Auto merge of #130649 - matthiaskrgr:rollup-57zc7lz, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #129718 (add guarantee about remove_dir and remove_file error kinds) - #130598 (Add recursion limit to FFI safety lint) - #130642 (Pass the current cargo to `run-make` tests) - #130644 (Only expect valtree consts in codegen) - #130645 (Normalize consts in writeback when GCE is enabled) - #130646 (compiler: factor out `OVERFLOWING_LITERALS` impl) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/mir')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/rvalue.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/rvalue.rs b/compiler/rustc_codegen_ssa/src/mir/rvalue.rs index 37474d85b11..6bf75293fce 100644 --- a/compiler/rustc_codegen_ssa/src/mir/rvalue.rs +++ b/compiler/rustc_codegen_ssa/src/mir/rvalue.rs @@ -114,7 +114,8 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { let count = self .monomorphize(count) - .eval_target_usize(bx.cx().tcx(), ty::ParamEnv::reveal_all()); + .try_to_target_usize(bx.tcx()) + .expect("expected monomorphic const in codegen"); bx.write_operand_repeatedly(cg_elem, count, dest); } @@ -803,7 +804,9 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { if let Some(index) = place.as_local() { if let LocalRef::Operand(op) = self.locals[index] { if let ty::Array(_, n) = op.layout.ty.kind() { - let n = n.eval_target_usize(bx.cx().tcx(), ty::ParamEnv::reveal_all()); + let n = n + .try_to_target_usize(bx.tcx()) + .expect("expected monomorphic const in codegen"); return bx.cx().const_usize(n); } } |
