about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2012-10-18 08:03:04 -0700
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2012-10-18 08:03:04 -0700
commit4e03ffdb6547d9541de84b61d7798b497235472b (patch)
tree5575a019b2718f29ca08dac619185c1234610175
parente28a161b720e267c837905e5f1b0760f71ebee14 (diff)
rustc: optimize away some mallocs when building GEP args
-rw-r--r--src/rustc/middle/trans/build.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/rustc/middle/trans/build.rs b/src/rustc/middle/trans/build.rs
index dfcc66adc3a..ea992600ae1 100644
--- a/src/rustc/middle/trans/build.rs
+++ b/src/rustc/middle/trans/build.rs
@@ -433,8 +433,7 @@ fn GEP(cx: block, Pointer: ValueRef, Indices: ~[ValueRef]) -> ValueRef {
 //
 // XXX: Use a small-vector optimization to avoid allocations here.
 fn GEPi(cx: block, base: ValueRef, ixs: &[uint]) -> ValueRef {
-    let mut v: ~[ValueRef] = ~[];
-    for vec::each(ixs) |i| { v.push(C_i32(*i as i32)); }
+    let v = do vec::map(ixs) |i| { C_i32(*i as i32) };
     count_insn(cx, "gepi");
     return InBoundsGEP(cx, base, v);
 }