Mercurial > projects > ldc
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); |