annotate gen/functions.h @ 1137:45d73f0a9b43

Automated merge with http://hg.dsource.org/projects/ldc
author Christian Kamm <kamm incasoftware de>
date Tue, 24 Mar 2009 14:34:16 +0100
parents 9167d492cbc2
children 46f6365a50d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
664
eef8ac26c66c Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents: 486
diff changeset
1 #ifndef LDC_GEN_FUNCTIONS_H
eef8ac26c66c Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents: 486
diff changeset
2 #define LDC_GEN_FUNCTIONS_H
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
3
1024
9167d492cbc2 Abstracted more (most) ABI details out of the normal codegen.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 945
diff changeset
4 const llvm::FunctionType* DtoFunctionType(Type* t, Type* thistype, Type* nesttype, bool ismain = false);
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
5 const llvm::FunctionType* DtoFunctionType(FuncDeclaration* fdecl);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
6
117
56a21f3e5d3e [svn r121] Finished ModuleInfo implementation.
lindquist
parents: 102
diff changeset
7 const llvm::FunctionType* DtoBaseFunctionType(FuncDeclaration* fdecl);
56a21f3e5d3e [svn r121] Finished ModuleInfo implementation.
lindquist
parents: 102
diff changeset
8
102
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
9 void DtoResolveFunction(FuncDeclaration* fdecl);
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
10 void DtoDeclareFunction(FuncDeclaration* fdecl);
920
545f54041d91 Implemented proper support for naked asm using llvm module level asm. Still not 100% complete, but already 1000 times better that what we had before. Don's BignumX86 implementation from Tango (when turned into a standalone unittest) seems to fully work with no changes, and great performance :)
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 664
diff changeset
11 void DtoDefineFunction(FuncDeclaration* fd);
945
03d7c4aac654 SWITCHED TO LLVM 2.5 !
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 920
diff changeset
12
920
545f54041d91 Implemented proper support for naked asm using llvm module level asm. Still not 100% complete, but already 1000 times better that what we had before. Don's BignumX86 implementation from Tango (when turned into a standalone unittest) seems to fully work with no changes, and great performance :)
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 664
diff changeset
13 void DtoDefineNakedFunction(FuncDeclaration* fd);
945
03d7c4aac654 SWITCHED TO LLVM 2.5 !
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 920
diff changeset
14 void emitABIReturnAsmStmt(IRAsmBlock* asmblock, Loc loc, FuncDeclaration* fdecl);
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
15
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 117
diff changeset
16 DValue* DtoArgument(Argument* fnarg, Expression* argexp);
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 131
diff changeset
17 void DtoVariadicArgument(Expression* argexp, LLValue* dst);
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 117
diff changeset
18
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
19 #endif