annotate gen/arrays.h @ 58:2c3cd3596187 trunk

[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum Added initial support for CatExp aka 'a ~ b' Fixed global constant static arrays initialized with string literals Fixed casting any dynamic array to void* Fixed new expression with temporary storage Fixed alias declarations in function scope Fixed relational comparisons of pointers
author lindquist
date Thu, 25 Oct 2007 09:02:55 +0200
parents 28e99b04a132
children b688ad419f8c
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);
34
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
8 llvm::Constant* LLVM_DtoConstantSlice(llvm::Constant* dim, llvm::Constant* ptr);
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
9
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
10 void LLVM_DtoArrayCopy(elem* dst, elem* src);
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
11 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
12 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
13 void LLVM_DtoArrayAssign(llvm::Value* l, llvm::Value* r);
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 21
diff changeset
14 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
15 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
16
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 54
diff changeset
17 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
18 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
19
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 54
diff changeset
20 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
21 void LLVM_DtoCatArrays(llvm::Value* arr, Expression* e1, Expression* e2);
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
22
48
4d171915a77b [svn r52] fixed static arrays in struct literals
lindquist
parents: 40
diff changeset
23 void LLVM_DtoStaticArrayCopy(llvm::Value* dst, llvm::Value* src);
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
24
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
25 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
26
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
27 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
28 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
29
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
30 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
31
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
32 #endif // LLVMC_GEN_ARRAYS_H