]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_codegen_ssa/common.rs
All Builder methods now take &mut self instead of &self
[rust.git] / src / librustc_codegen_ssa / common.rs
index 619fd078fb75f928eb66a7f0e39304b199d8117d..1115a74556c1a5ad19b4852d19e1dc4b06a250ec 100644 (file)
@@ -163,7 +163,7 @@ pub fn langcall(tcx: TyCtxt,
 // of Java. (See related discussion on #1877 and #10183.)
 
 pub fn build_unchecked_lshift<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
-    bx: &Bx,
+    bx: &mut Bx,
     lhs: Bx::Value,
     rhs: Bx::Value
 ) -> Bx::Value {
@@ -174,7 +174,7 @@ pub fn build_unchecked_lshift<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
 }
 
 pub fn build_unchecked_rshift<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
-    bx: &Bx,
+    bx: &mut Bx,
     lhs_t: Ty<'tcx>,
     lhs: Bx::Value,
     rhs: Bx::Value
@@ -191,15 +191,16 @@ pub fn build_unchecked_rshift<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
 }
 
 fn shift_mask_rhs<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
-    bx: &Bx,
+    bx: &mut Bx,
     rhs: Bx::Value
 ) -> Bx::Value {
     let rhs_llty = bx.cx().val_ty(rhs);
-    bx.and(rhs, shift_mask_val(bx, rhs_llty, rhs_llty, false))
+    let shift_val = shift_mask_val(bx, rhs_llty, rhs_llty, false);
+    bx.and(rhs, shift_val)
 }
 
 pub fn shift_mask_val<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>(
-    bx: &Bx,
+    bx: &mut Bx,
     llty: Bx::Type,
     mask_llty: Bx::Type,
     invert: bool