Mercurial > projects > ldc
annotate gen/arrays.h @ 78:2332006e1fa4 trunk
[svn r82] Fixed: Fall-through switch cases were broken.
author | lindquist |
---|---|
date | Wed, 31 Oct 2007 20:50:21 +0100 |
parents | 2b5a2eaa88be |
children | 3587401b6eeb |
rev | line source |
---|---|
4
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
1 #ifndef LLVMC_GEN_ARRAYS_H |
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
2 #define LLVMC_GEN_ARRAYS_H |
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
3 |
11
d3ee9efe20e2
[svn r15] * Fixed a bunch problems with virtual calls. Seems I did some rather poor testing.
lindquist
parents:
4
diff
changeset
|
4 const llvm::StructType* LLVM_DtoArrayType(Type* t); |
d3ee9efe20e2
[svn r15] * Fixed a bunch problems with virtual calls. Seems I did some rather poor testing.
lindquist
parents:
4
diff
changeset
|
5 const llvm::ArrayType* LLVM_DtoStaticArrayType(Type* t); |
4
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
6 |
40 | 7 llvm::Constant* LLVM_DtoConstArrayInitializer(ArrayInitializer* si); |
69
2b5a2eaa88be
[svn r73] Identity expression for dynamic array and null was broken.
lindquist
parents:
64
diff
changeset
|
8 llvm::Constant* LLVM_DtoConstSlice(llvm::Constant* dim, llvm::Constant* ptr); |
2b5a2eaa88be
[svn r73] Identity expression for dynamic array and null was broken.
lindquist
parents:
64
diff
changeset
|
9 llvm::Constant* LLVM_DtoConstStaticArray(const llvm::Type* t, llvm::Constant* c); |
34 | 10 |
11 void LLVM_DtoArrayCopy(elem* dst, elem* src); | |
12 void LLVM_DtoArrayInit(llvm::Value* l, llvm::Value* r); | |
37
77cdca8c210f
[svn r41] new'd dynamic arrays are now initialized with the element type's default initializer.
lindquist
parents:
36
diff
changeset
|
13 void LLVM_DtoArrayInit(llvm::Value* ptr, llvm::Value* dim, llvm::Value* val); |
34 | 14 void LLVM_DtoArrayAssign(llvm::Value* l, llvm::Value* r); |
15 void LLVM_DtoSetArray(llvm::Value* arr, llvm::Value* dim, llvm::Value* ptr); | |
36
c0967c4b2a74
[svn r40] Cleaned up some of the array routines to use gep/load/store instead of memcpy/memset.
lindquist
parents:
34
diff
changeset
|
16 void LLVM_DtoNullArray(llvm::Value* v); |
4
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
17 |
58
2c3cd3596187
[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents:
54
diff
changeset
|
18 llvm::Value* LLVM_DtoNewDynArray(llvm::Value* dst, llvm::Value* dim, Type* dty, bool doinit=true); |
34 | 19 void LLVM_DtoResizeDynArray(llvm::Value* arr, llvm::Value* sz); |
21
8d45266bbabe
[svn r25] * Fixed a lot of problems with string literals
lindquist
parents:
11
diff
changeset
|
20 |
58
2c3cd3596187
[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents:
54
diff
changeset
|
21 void LLVM_DtoCatAssignElement(llvm::Value* arr, Expression* exp); |
2c3cd3596187
[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents:
54
diff
changeset
|
22 void LLVM_DtoCatArrays(llvm::Value* arr, Expression* e1, Expression* e2); |
40 | 23 |
48 | 24 void LLVM_DtoStaticArrayCopy(llvm::Value* dst, llvm::Value* src); |
52 | 25 |
40 | 26 llvm::Value* LLVM_DtoStaticArrayCompare(TOK op, llvm::Value* l, llvm::Value* r); |
54
28e99b04a132
[svn r58] Fixed cond expression resulting in a non-basic type.
lindquist
parents:
52
diff
changeset
|
27 |
52 | 28 llvm::Value* LLVM_DtoDynArrayCompare(TOK op, llvm::Value* l, llvm::Value* r); |
54
28e99b04a132
[svn r58] Fixed cond expression resulting in a non-basic type.
lindquist
parents:
52
diff
changeset
|
29 llvm::Value* LLVM_DtoDynArrayIs(TOK op, llvm::Value* l, llvm::Value* r); |
52 | 30 |
31 llvm::Value* LLVM_DtoArrayCastLength(llvm::Value* len, const llvm::Type* elemty, const llvm::Type* newelemty); | |
40 | 32 |
4
e116aa1488e6
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff
changeset
|
33 #endif // LLVMC_GEN_ARRAYS_H |