comparison gen/tollvm.h @ 797:340acf1535d0

Removed KDevelop3 project files, CMake can generate them just fine! Fixed function literals in static initializers. Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE. Changed errors to go to stderr instead of stdout. Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sat, 29 Nov 2008 21:25:43 +0100
parents 30b42a283c8e
children 8e6135be6999
comparison
equal deleted inserted replaced
796:6e7a4c3b64d2 797:340acf1535d0
65 65
66 // llvm wrappers 66 // llvm wrappers
67 LLValue* DtoLoad(LLValue* src, const char* name=0); 67 LLValue* DtoLoad(LLValue* src, const char* name=0);
68 void DtoStore(LLValue* src, LLValue* dst); 68 void DtoStore(LLValue* src, LLValue* dst);
69 LLValue* DtoBitCast(LLValue* v, const LLType* t, const char* name=0); 69 LLValue* DtoBitCast(LLValue* v, const LLType* t, const char* name=0);
70 LLConstant* DtoBitCast(LLConstant* v, const LLType* t);
70 71
71 // llvm::dyn_cast wrappers 72 // llvm::dyn_cast wrappers
72 const LLPointerType* isaPointer(LLValue* v); 73 const LLPointerType* isaPointer(LLValue* v);
73 const LLPointerType* isaPointer(const LLType* t); 74 const LLPointerType* isaPointer(const LLType* t);
74 const LLArrayType* isaArray(LLValue* v); 75 const LLArrayType* isaArray(LLValue* v);
93 size_t getABITypeSize(const LLType* t); 94 size_t getABITypeSize(const LLType* t);
94 95
95 // type alignments 96 // type alignments
96 unsigned char getABITypeAlign(const LLType* t); 97 unsigned char getABITypeAlign(const LLType* t);
97 unsigned char getPrefTypeAlign(const LLType* t); 98 unsigned char getPrefTypeAlign(const LLType* t);
99
100 // get biggest type, for unions ...
101 const LLType* getBiggestType(const LLType** begin, size_t n);
98 102
99 // pair type helpers 103 // pair type helpers
100 LLValue* DtoAggrPair(const LLType* type, LLValue* V1, LLValue* V2, const char* name = 0); 104 LLValue* DtoAggrPair(const LLType* type, LLValue* V1, LLValue* V2, const char* name = 0);
101 LLValue* DtoAggrPair(LLValue* V1, LLValue* V2, const char* name = 0); 105 LLValue* DtoAggrPair(LLValue* V1, LLValue* V2, const char* name = 0);
102 LLValue* DtoAggrPaint(LLValue* aggr, const LLType* as); 106 LLValue* DtoAggrPaint(LLValue* aggr, const LLType* as);