Mercurial > projects > ldc
comparison gen/tollvm.h @ 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 | 83bdf7bed9c5 |
children | 8b9f236dd051 |
comparison
equal
deleted
inserted
replaced
1479:4f7d50c744ed | 1480:b3ba2c6ff038 |
---|---|
110 LLValue* DtoAggrPairSwap(LLValue* aggr); | 110 LLValue* DtoAggrPairSwap(LLValue* aggr); |
111 | 111 |
112 /** | 112 /** |
113 * Generates a call to llvm.memset.i32 (or i64 depending on architecture). | 113 * Generates a call to llvm.memset.i32 (or i64 depending on architecture). |
114 * @param dst Destination memory. | 114 * @param dst Destination memory. |
115 * @param val The value to set. | |
116 * @param nbytes Number of bytes to overwrite. | |
117 */ | |
118 void DtoMemSet(LLValue* dst, LLValue* val, LLValue* nbytes); | |
119 | |
120 /** | |
121 * Generates a call to llvm.memset.i32 (or i64 depending on architecture). | |
122 * @param dst Destination memory. | |
115 * @param nbytes Number of bytes to overwrite. | 123 * @param nbytes Number of bytes to overwrite. |
116 */ | 124 */ |
117 void DtoMemSetZero(LLValue* dst, LLValue* nbytes); | 125 void DtoMemSetZero(LLValue* dst, LLValue* nbytes); |
118 | 126 |
119 /** | 127 /** |