annotate gen/arrays.h @ 54:28e99b04a132 trunk

[svn r58] Fixed cond expression resulting in a non-basic type. Fixed identity expression for dynamic arrays. Revamped the system to keep track of lvalues and rvalues and their relations. Typedef declaration now generate the custom typeinfo. Other bugfixes.
author lindquist
date Wed, 24 Oct 2007 01:37:34 +0200
parents 0c77619e803b
children 2c3cd3596187
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
37
77cdca8c210f [svn r41] new'd dynamic arrays are now initialized with the element type's default initializer.
lindquist
parents: 36
diff changeset
17 void 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
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
20 void LLVM_DtoCatArrayElement(llvm::Value* arr, Expression* exp);
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
21
48
4d171915a77b [svn r52] fixed static arrays in struct literals
lindquist
parents: 40
diff changeset
22 void LLVM_DtoStaticArrayCopy(llvm::Value* dst, llvm::Value* src);
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
23
40
8b0e809563df [svn r44] Lots of bug fixes.
lindquist
parents: 37
diff changeset
24 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
25
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
26 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
27 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
28
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 48
diff changeset
29 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
30
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents:
diff changeset
31 #endif // LLVMC_GEN_ARRAYS_H