From f3b58947c0c718d9366dac0c9df2c452e00a1ed3 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 18 Mar 2011 16:41:56 -0700 Subject: rustc: Don't always build a constant multiply instruction when translating literal vectors; the size of the referent isn't always constant --- src/comp/middle/trans.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index a475dd36..92b147d2 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -4181,8 +4181,8 @@ fn trans_vec(@block_ctxt cx, vec[@ast.expr] args, auto bcx = cx; auto unit_sz = size_of(bcx, unit_ty); bcx = unit_sz.bcx; - auto data_sz = llvm.LLVMConstMul(C_int(_vec.len[@ast.expr](args) as int), - unit_sz.val); + auto data_sz = bcx.build.Mul(C_int(_vec.len[@ast.expr](args) as int), + unit_sz.val); // FIXME: pass tydesc properly. auto sub = trans_upcall(bcx, "upcall_new_vec", vec(data_sz, C_int(0))); -- cgit v1.2.3