From 8cd9bf3162da67600fbd6046893cc4f23b90a1b3 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Wed, 22 Aug 2018 11:45:54 +0200 Subject: [PATCH] Use *_imm in some places --- src/common.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/common.rs b/src/common.rs index 6c537d72f9b1..ffb984c7c11e 100644 --- a/src/common.rs +++ b/src/common.rs @@ -68,8 +68,7 @@ fn codegen_field<'a, 'tcx: 'a>( let field_offset = layout.fields.offset(field.index()); let field_ty = layout.field(&*fx, field.index()); if field_offset.bytes() > 0 { - let field_offset = fx.bcx.ins().iconst(fx.module.pointer_type(), field_offset.bytes() as i64); - (fx.bcx.ins().iadd(base, field_offset), field_ty) + (fx.bcx.ins().iadd_imm(base, field_offset.bytes() as i64), field_ty) } else { (base, field_ty) } @@ -305,11 +304,7 @@ impl<'a, 'tcx: 'a> CPlace<'tcx> { match layout.ty.sty { TypeVariants::TyArray(elem_ty, _) => { let elem_layout = fx.layout_of(elem_ty); - let size = fx - .bcx - .ins() - .iconst(fx.module.pointer_type(), elem_layout.size.bytes() as i64); - let offset = fx.bcx.ins().imul(size, index); + let offset = fx.bcx.ins().imul_imm(index, elem_layout.size.bytes() as i64); CPlace::Addr(fx.bcx.ins().iadd(addr, offset), elem_layout) } TypeVariants::TySlice(_elem_ty) => unimplemented!("place_index(TySlice)"),