comparison gen/structs.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 a95056b3c996
comparison
equal deleted inserted replaced
216:3d022aa016ae 217:0806379a5eca
28 /** 28 /**
29 * Provides the llvm definition for a struct 29 * Provides the llvm definition for a struct
30 */ 30 */
31 void DtoDefineStruct(StructDeclaration* sd); 31 void DtoDefineStruct(StructDeclaration* sd);
32 32
33 LLValue* DtoIndexStruct(LLValue* ptr, StructDeclaration* sd, Type* t, unsigned os, std::vector<unsigned>& idxs); 33 typedef LLSmallVector<unsigned, 3> DStructIndexVector;
34 LLValue* DtoIndexStruct(LLValue* ptr, StructDeclaration* sd, Type* t, unsigned os, DStructIndexVector& idxs);
34 35
35 struct DUnionField 36 struct DUnionField
36 { 37 {
37 unsigned offset; 38 unsigned offset;
38 size_t size; 39 size_t size;