diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2023-03-27 16:30:50 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2023-03-27 16:30:50 +0000 |
| commit | a5f11c7aebabf2c9dab45a2555ba8d00f18f91e6 (patch) | |
| tree | e305ecad57f52b432ded346cd89580a31b17b0c7 | |
| parent | 0e50c9e4f36bec1ced66b92902eeb354db544487 (diff) | |
| download | rust-a5f11c7aebabf2c9dab45a2555ba8d00f18f91e6.tar.gz rust-a5f11c7aebabf2c9dab45a2555ba8d00f18f91e6.zip | |
Avoid CValue::const_val in a couple of places
| -rw-r--r-- | src/base.rs | 5 | ||||
| -rw-r--r-- | src/intrinsics/mod.rs | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/base.rs b/src/base.rs index 0d43e20f1c1..75a0db5aadb 100644 --- a/src/base.rs +++ b/src/base.rs @@ -767,7 +767,10 @@ fn codegen_stmt<'tcx>( NullOp::SizeOf => layout.size.bytes(), NullOp::AlignOf => layout.align.abi.bytes(), }; - let val = CValue::const_val(fx, fx.layout_of(fx.tcx.types.usize), val.into()); + let val = CValue::by_val( + fx.bcx.ins().iconst(fx.pointer_type, i64::try_from(val).unwrap()), + fx.layout_of(fx.tcx.types.usize), + ); lval.write_cvalue(fx, val); } Rvalue::Aggregate(ref kind, ref operands) => { diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs index 4166e763012..571af04f22c 100644 --- a/src/intrinsics/mod.rs +++ b/src/intrinsics/mod.rs @@ -1103,8 +1103,8 @@ fn codegen_regular_intrinsic_call<'tcx>( fx.bcx.ins().call_indirect(f_sig, f, &[data]); - let layout = ret.layout(); - let ret_val = CValue::const_val(fx, layout, ty::ScalarInt::null(layout.size)); + let layout = fx.layout_of(fx.tcx.types.i32); + let ret_val = CValue::by_val(fx.bcx.ins().iconst(types::I32, 0), layout); ret.write_cvalue(fx, ret_val); } |
