annotate gen/arrays.h @ 73:b706170e24a9 trunk

[svn r77] Fixed foreach on slice. Fixed some nested function problems when accessing outer function parameters. Major changes to handling of structs. Initial support for unions. Probably more...
author lindquist
date Wed, 31 Oct 2007 03:11:32 +0100
parents 2b5a2eaa88be
children 3587401b6eeb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
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
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
10
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
11 void LLVM_DtoArrayCopy(elem* dst, elem* src);
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
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
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
14 void LLVM_DtoArrayAssign(llvm::Value* l, llvm::Value* r);
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
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
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
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
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
23
48
4d171915a77b [svn r52] fixed static arrays in struct literals
lindquist
parents: 40
diff changeset
24 void LLVM_DtoStaticArrayCopy(llvm::Value* dst, llvm::Value* src);
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
25
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
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
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
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
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
30
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
31 llvm::Value* LLVM_DtoArrayCastLength(llvm::Value* len, const llvm::Type* elemty, const llvm::Type* newelemty);
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
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