Mercurial > projects > ldc
view gen/arrays.h @ 36:c0967c4b2a74 trunk
[svn r40] Cleaned up some of the array routines to use gep/load/store instead of memcpy/memset.
Resizing arrays did not allocate enough memory for types bigger than 1 byte.
author | lindquist |
---|---|
date | Tue, 09 Oct 2007 07:51:13 +0200 |
parents | 4648206ca213 |
children | 77cdca8c210f |
line wrap: on
line source
#ifndef LLVMC_GEN_ARRAYS_H #define LLVMC_GEN_ARRAYS_H const llvm::StructType* LLVM_DtoArrayType(Type* t); const llvm::ArrayType* LLVM_DtoStaticArrayType(Type* t); llvm::Constant* LLVM_DtoArrayInitializer(ArrayInitializer* si); llvm::Constant* LLVM_DtoConstantSlice(llvm::Constant* dim, llvm::Constant* ptr); void LLVM_DtoArrayCopy(elem* dst, elem* src); void LLVM_DtoArrayInit(llvm::Value* l, llvm::Value* r); void LLVM_DtoArrayAssign(llvm::Value* l, llvm::Value* r); void LLVM_DtoSetArray(llvm::Value* arr, llvm::Value* dim, llvm::Value* ptr); void LLVM_DtoNullArray(llvm::Value* v); void LLVM_DtoNewDynArray(llvm::Value* dst, llvm::Value* dim, const llvm::Type* ty); void LLVM_DtoResizeDynArray(llvm::Value* arr, llvm::Value* sz); #endif // LLVMC_GEN_ARRAYS_H