Mercurial > projects > ldc
diff gen/arrays.cpp @ 1480:b3ba2c6ff038
Use `llvm.memset` instead of `_d_array_init_i1` and `_d_array_init_i8`.
This exposes what's happening to LLVM, and memset is probably faster than the
runtime functions we were using anyway.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 07 Jun 2009 13:57:59 +0200 |
parents | a5526b7a5ae6 |
children | 0c8d6d345001 |
line wrap: on
line diff
--- a/gen/arrays.cpp Sat Jun 06 20:16:13 2009 +0200 +++ b/gen/arrays.cpp Sun Jun 07 13:57:59 2009 +0200 @@ -112,15 +112,16 @@ switch (arrayelemty->ty) { case Tbool: - funcname = "_d_array_init_i1"; - break; + val = gIR->ir->CreateZExt(val, LLType::Int8Ty, ".bool"); + // fall through case Tvoid: case Tchar: case Tint8: case Tuns8: - funcname = "_d_array_init_i8"; - break; + Logger::println("Using memset for array init"); + DtoMemSet(ptr, val, dim); + return; case Twchar: case Tint16: