Mercurial > projects > ldc
comparison gen/tollvm.h @ 585:fbb1a366cfbc
Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 09 Sep 2008 16:49:47 -0700 |
parents | a34078905d01 |
children | 1b62222581fb |
comparison
equal
deleted
inserted
replaced
584:c7d7e2282ba3 | 585:fbb1a366cfbc |
---|---|
58 LLConstant* DtoConstString(const char*); | 58 LLConstant* DtoConstString(const char*); |
59 LLConstant* DtoConstStringPtr(const char* str, const char* section = 0); | 59 LLConstant* DtoConstStringPtr(const char* str, const char* section = 0); |
60 LLConstant* DtoConstBool(bool); | 60 LLConstant* DtoConstBool(bool); |
61 | 61 |
62 // llvm wrappers | 62 // llvm wrappers |
63 bool DtoCanLoad(LLValue* ptr); | |
64 LLValue* DtoLoad(LLValue* src, const char* name=0); | 63 LLValue* DtoLoad(LLValue* src, const char* name=0); |
65 void DtoStore(LLValue* src, LLValue* dst); | 64 void DtoStore(LLValue* src, LLValue* dst); |
66 LLValue* DtoBitCast(LLValue* v, const LLType* t, const char* name=0); | 65 LLValue* DtoBitCast(LLValue* v, const LLType* t, const char* name=0); |
67 | 66 |
68 // llvm::dyn_cast wrappers | 67 // llvm::dyn_cast wrappers |
90 size_t getABITypeSize(const LLType* t); | 89 size_t getABITypeSize(const LLType* t); |
91 | 90 |
92 // type alignments | 91 // type alignments |
93 unsigned char getABITypeAlign(const LLType* t); | 92 unsigned char getABITypeAlign(const LLType* t); |
94 unsigned char getPrefTypeAlign(const LLType* t); | 93 unsigned char getPrefTypeAlign(const LLType* t); |
94 | |
95 // pair type helpers | |
96 LLValue* DtoAggrPair(const LLType* type, LLValue* V1, LLValue* V2, const char* name = 0); | |
95 | 97 |
96 /** | 98 /** |
97 * Generates a call to llvm.memset.i32 (or i64 depending on architecture). | 99 * Generates a call to llvm.memset.i32 (or i64 depending on architecture). |
98 * @param dst Destination memory. | 100 * @param dst Destination memory. |
99 * @param nbytes Number of bytes to overwrite. | 101 * @param nbytes Number of bytes to overwrite. |