1
|
1 // D -> LLVM helpers
|
|
2
|
|
3 struct StructInitializer;
|
|
4
|
|
5 const llvm::Type* LLVM_DtoType(Type* t);
|
|
6
|
|
7 llvm::Type* LLVM_DtoStructType(Type* t);
|
|
8 llvm::Value* LLVM_DtoStructZeroInit(TypeStruct* t, llvm::Value* v);
|
|
9 llvm::Value* LLVM_DtoStructCopy(TypeStruct* t, llvm::Value* dst, llvm::Value* src);
|
|
10 llvm::Constant* LLVM_DtoStructInitializer(StructInitializer* si);
|
|
11
|
|
12 llvm::FunctionType* LLVM_DtoFunctionType(Type* t, const llvm::Type* thisparam = 0);
|
|
13 llvm::FunctionType* LLVM_DtoFunctionType(FuncDeclaration* fdecl);
|
|
14
|
|
15 llvm::StructType* LLVM_DtoDelegateType(Type* t);
|
|
16 llvm::Value* LLVM_DtoNullDelegate(llvm::Value* v);
|
|
17 llvm::Value* LLVM_DtoDelegateCopy(llvm::Value* dst, llvm::Value* src);
|
|
18
|
|
19 llvm::StructType* LLVM_DtoArrayType(Type* t);
|
|
20 llvm::ArrayType* LLVM_DtoStaticArrayType(Type* t);
|
|
21 llvm::Value* LLVM_DtoNullArray(llvm::Value* v);
|
|
22 llvm::Value* LLVM_DtoArrayAssign(llvm::Value* l, llvm::Value* r);
|
|
23 void LLVM_DtoSetArray(llvm::Value* arr, llvm::Value* dim, llvm::Value* ptr);
|
|
24 llvm::Constant* LLVM_DtoArrayInitializer(ArrayInitializer* si);
|
|
25 void LLVM_DtoArrayCopy(elem* dst, elem* src);
|
|
26
|
|
27 void LLVM_DtoArrayInit(llvm::Value* l, llvm::Value* r);
|
|
28
|
|
29 llvm::GlobalValue::LinkageTypes LLVM_DtoLinkage(PROT prot, uint stc);
|
|
30 unsigned LLVM_DtoCallingConv(LINK l);
|
|
31
|
|
32 llvm::Value* LLVM_DtoPointedType(llvm::Value* ptr, llvm::Value* val);
|
|
33 llvm::Value* LLVM_DtoBoolean(llvm::Value* val);
|
|
34
|
|
35 const llvm::Type* LLVM_DtoSize_t();
|
|
36
|
|
37 void LLVM_DtoMain();
|
|
38
|
|
39 void LLVM_DtoCallClassDtors(TypeClass* tc, llvm::Value* instance);
|
|
40 void LLVM_DtoInitClass(TypeClass* tc, llvm::Value* dst);
|
|
41
|
|
42 llvm::Constant* LLVM_DtoInitializer(Type* type, Initializer* init);
|
|
43
|
|
44 #include "enums.h"
|