Mercurial > projects > ldc
comparison gen/classes.h @ 217:0806379a5eca trunk
[svn r233] Added: -oq command line option for writing fully qualified object names.
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
author | lindquist |
---|---|
date | Thu, 05 Jun 2008 06:38:36 +0200 |
parents | 7816aafeea3c |
children | a34078905d01 |
comparison
equal
deleted
inserted
replaced
216:3d022aa016ae | 217:0806379a5eca |
---|---|
1 #ifndef LLVMDC_GEN_CLASSES_H | 1 #ifndef LLVMDC_GEN_CLASSES_H |
2 #define LLVMDC_GEN_CLASSES_H | 2 #define LLVMDC_GEN_CLASSES_H |
3 | |
4 #include "gen/structs.h" | |
3 | 5 |
4 /** | 6 /** |
5 * Resolves the llvm type for a class declaration | 7 * Resolves the llvm type for a class declaration |
6 */ | 8 */ |
7 void DtoResolveClass(ClassDeclaration* cd); | 9 void DtoResolveClass(ClassDeclaration* cd); |
33 DValue* DtoDynamicCastObject(DValue* val, Type* to); | 35 DValue* DtoDynamicCastObject(DValue* val, Type* to); |
34 | 36 |
35 DValue* DtoCastInterfaceToObject(DValue* val, Type* to); | 37 DValue* DtoCastInterfaceToObject(DValue* val, Type* to); |
36 DValue* DtoDynamicCastInterface(DValue* val, Type* to); | 38 DValue* DtoDynamicCastInterface(DValue* val, Type* to); |
37 | 39 |
38 LLValue* DtoIndexClass(LLValue* ptr, ClassDeclaration* cd, Type* t, unsigned os, std::vector<unsigned>& idxs); | 40 LLValue* DtoIndexClass(LLValue* ptr, ClassDeclaration* cd, Type* t, unsigned os, DStructIndexVector& idxs); |
39 | 41 |
40 LLValue* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl); | 42 LLValue* DtoVirtualFunctionPointer(DValue* inst, FuncDeclaration* fdecl); |
41 | 43 |
42 #endif | 44 #endif |