Mercurial > projects > ldc
comparison gen/tollvm.h @ 40:8b0e809563df trunk
[svn r44] Lots of bug fixes.
New array literal support
New array ~= operator support (for single element)
New with statement support
More...
author | lindquist |
---|---|
date | Fri, 19 Oct 2007 07:43:21 +0200 |
parents | 4648206ca213 |
children | 6fcc08a4d406 |
comparison
equal
deleted
inserted
replaced
39:fd5e8bbfcb25 | 40:8b0e809563df |
---|---|
1 // D -> LLVM helpers | 1 // D -> LLVM helpers |
2 | 2 |
3 struct StructInitializer; | 3 struct StructInitializer; |
4 | 4 |
5 const llvm::Type* LLVM_DtoType(Type* t); | 5 const llvm::Type* LLVM_DtoType(Type* t); |
6 bool LLVM_DtoIsPassedByRef(Type* type); | |
7 Type* LLVM_DtoDType(Type* t); | |
6 | 8 |
7 const llvm::Type* LLVM_DtoStructType(Type* t); | 9 const llvm::Type* LLVM_DtoStructType(Type* t); |
8 llvm::Value* LLVM_DtoStructZeroInit(TypeStruct* t, llvm::Value* v); | 10 llvm::Value* LLVM_DtoStructZeroInit(TypeStruct* t, llvm::Value* v); |
9 llvm::Value* LLVM_DtoStructCopy(TypeStruct* t, llvm::Value* dst, llvm::Value* src); | 11 llvm::Value* LLVM_DtoStructCopy(TypeStruct* t, llvm::Value* dst, llvm::Value* src); |
10 llvm::Constant* LLVM_DtoStructInitializer(StructInitializer* si); | 12 llvm::Constant* LLVM_DtoConstStructInitializer(StructInitializer* si); |
11 | 13 |
12 const llvm::FunctionType* LLVM_DtoFunctionType(Type* t, const llvm::Type* thisparam = 0); | 14 const llvm::FunctionType* LLVM_DtoFunctionType(Type* t, const llvm::Type* thisparam = 0); |
13 const llvm::FunctionType* LLVM_DtoFunctionType(FuncDeclaration* fdecl); | 15 const llvm::FunctionType* LLVM_DtoFunctionType(FuncDeclaration* fdecl); |
14 llvm::Function* LLVM_DtoDeclareFunction(FuncDeclaration* fdecl); | 16 llvm::Function* LLVM_DtoDeclareFunction(FuncDeclaration* fdecl); |
15 | 17 |
28 void LLVM_DtoMain(); | 30 void LLVM_DtoMain(); |
29 | 31 |
30 void LLVM_DtoCallClassDtors(TypeClass* tc, llvm::Value* instance); | 32 void LLVM_DtoCallClassDtors(TypeClass* tc, llvm::Value* instance); |
31 void LLVM_DtoInitClass(TypeClass* tc, llvm::Value* dst); | 33 void LLVM_DtoInitClass(TypeClass* tc, llvm::Value* dst); |
32 | 34 |
33 llvm::Constant* LLVM_DtoInitializer(Type* type, Initializer* init); | 35 llvm::Constant* LLVM_DtoConstInitializer(Type* type, Initializer* init); |
36 void LLVM_DtoInitializer(Initializer* init); | |
34 | 37 |
35 llvm::Function* LLVM_DeclareMemSet32(); | 38 llvm::Function* LLVM_DeclareMemSet32(); |
36 llvm::Function* LLVM_DeclareMemSet64(); | 39 llvm::Function* LLVM_DeclareMemSet64(); |
37 llvm::Function* LLVM_DeclareMemCpy32(); | 40 llvm::Function* LLVM_DeclareMemCpy32(); |
38 llvm::Function* LLVM_DeclareMemCpy64(); | 41 llvm::Function* LLVM_DeclareMemCpy64(); |
47 llvm::Value* LLVM_DtoRealloc(llvm::Value* ptr, const llvm::Type* ty); | 50 llvm::Value* LLVM_DtoRealloc(llvm::Value* ptr, const llvm::Type* ty); |
48 llvm::Value* LLVM_DtoRealloc(llvm::Value* ptr, llvm::Value* len); | 51 llvm::Value* LLVM_DtoRealloc(llvm::Value* ptr, llvm::Value* len); |
49 | 52 |
50 void LLVM_DtoAssert(llvm::Value* cond, llvm::Value* loc, llvm::Value* msg); | 53 void LLVM_DtoAssert(llvm::Value* cond, llvm::Value* loc, llvm::Value* msg); |
51 | 54 |
55 llvm::Value* LLVM_DtoArgument(const llvm::Type* paramtype, Argument* fnarg, Expression* argexp); | |
56 | |
52 #include "enums.h" | 57 #include "enums.h" |