diff options
| author | bors <bors@rust-lang.org> | 2023-04-26 15:52:33 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-04-26 15:52:33 +0000 |
| commit | 9c044d77a334609513f3b615e0763a40cc02424d (patch) | |
| tree | ae444821302a827fe1af2cc2a2da4396e099c6c3 /compiler/rustc_codegen_ssa/src | |
| parent | 8763965a2c7b68a33af5fc55999f9eff26749fd6 (diff) | |
| parent | 05a665f21a6f9763d136a9d2d7c0255de6d333fb (diff) | |
| download | rust-9c044d77a334609513f3b615e0763a40cc02424d.tar.gz rust-9c044d77a334609513f3b615e0763a40cc02424d.zip | |
Auto merge of #110822 - scottmcm:lower-offset-to-mir, r=compiler-errors
Lower `intrinsics::offset` to `mir::BinOp::Offset` They're [semantically the same](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Rvalue.html#variant.BinaryOp), so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/intrinsic.rs | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs b/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs index 7af7fc92dbc..1479242f23a 100644 --- a/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs +++ b/compiler/rustc_codegen_ssa/src/mir/intrinsic.rs @@ -135,13 +135,6 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { .unwrap(); OperandRef::from_const(bx, value, ret_ty).immediate_or_packed_pair(bx) } - sym::offset => { - let ty = substs.type_at(0); - let layout = bx.layout_of(ty); - let ptr = args[0].immediate(); - let offset = args[1].immediate(); - bx.inbounds_gep(bx.backend_type(layout), ptr, &[offset]) - } sym::arith_offset => { let ty = substs.type_at(0); let layout = bx.layout_of(ty); |
