From 89a7407c999449c56f9b00145cfbdfbb49fbde7c Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Sun, 24 Mar 2013 21:44:47 +1100 Subject: [PATCH] librustc: clean-up expr_repeat loop generation: use native integers --- src/librustc/middle/trans/tvec.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/librustc/middle/trans/tvec.rs b/src/librustc/middle/trans/tvec.rs index 9910a62f1e0e..a86a4aec6b49 100644 --- a/src/librustc/middle/trans/tvec.rs +++ b/src/librustc/middle/trans/tvec.rs @@ -427,8 +427,8 @@ pub fn write_content(bcx: block, let loop_counter = { // i = 0 - let i = alloca(loop_bcx, T_i64()); - Store(loop_bcx, C_i64(0), i); + let i = alloca(loop_bcx, bcx.ccx().int_type); + Store(loop_bcx, C_uint(bcx.ccx(), 0), i); Br(loop_bcx, cond_bcx.llbb); i @@ -436,10 +436,8 @@ pub fn write_content(bcx: block, { // i < count let lhs = Load(cond_bcx, loop_counter); - let rhs = C_integral(T_i64(), count as u64, lib::llvm::False); - let cmp_lr = ICmp(cond_bcx, lib::llvm::IntULT, lhs, rhs); - let zext = ZExt(cond_bcx, cmp_lr, T_i8()); - let cond_val = ICmp(cond_bcx, lib::llvm::IntNE, zext, C_u8(0)); + let rhs = C_uint(bcx.ccx(), count); + let cond_val = ICmp(cond_bcx, lib::llvm::IntULT, lhs, rhs); CondBr(cond_bcx, cond_val, set_bcx.llbb, next_bcx.llbb); } @@ -454,7 +452,7 @@ pub fn write_content(bcx: block, { // i += 1 let i = Load(inc_bcx, loop_counter); - let plusone = Add(inc_bcx, i, C_i64(1)); + let plusone = Add(inc_bcx, i, C_uint(bcx.ccx(), 1)); Store(inc_bcx, plusone, loop_counter); Br(inc_bcx, cond_bcx.llbb);